Как улучшить производительность старых игр

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Инструкция | Игры

Работая над графическим обновлением игры, передо мной встал вопрос: как улучшить её производительность? Исходного кода у меня не было, а обратный инжиниринг занял бы слишком много времени. Благо, познания в области Linux пригодились и здесь. В этом небольшом материале вы узнаете, как повысить производительность и избавиться от графических артефактов в старых играх на современных видеокартах.

Автор: Rockstar Games Источник: img.ixbt.site

Пояснение

Среди поклонников ретро-игр распространены четыре способа:

  1. 4GB Patch — бесплатная программа, позволяющая 32-битным приложениям задействовать 4 Гб RAM в 64-битных ОС.
  2. DxWrapper — перехватчик и конвертер вызовов ранних версий DirectX.
  3. DXVK — ретранслятор вызовов DirectX 9/10/11 в API Vulkan.
  4. D3d8to9 — аналог DxWrapper, но без лишних опций и только для игр использующих DX8.

Сравним их эффективность на примере некогда популярной многопользовательской ролевой игры Perfect World и криминального экшена Grand Theft Auto: Vice City. Проекты созданы на базе устаревшего графического API, задействуют одно ядро процессора, всё ещё востребованы среди геймеров.

Тестовый стенд Комплектующие
Материнская плата MSI MAG B760 TOMAHAWK WIFI DDR4
Процессор Intel Core i5-12400F
Видеокарта Nvidia GeForce RTX 3060 12 Гб
Оперативная память 2x16 3600 МГц (18-20-20-36)
Накопитель HP FX900 plus
Блок питания Chieftec PowerPlay Gold 650W
Звуковая система Creative Sound Blaster Play! 3

Производительность

Замеры FPS производились MSI Afterburner 4.6.6 Beta 3.

График
График
Автор: Павел Прилуцкий

К сожалению, из-за проблем с запуском пришлось заменить DXVK на нестабильную реализацию D8VK, из-за чего результаты тестирования на открытой местности вызывают сомнения. Тестовый же отрывок с D3d8to9 продемонстрировал проблемы с отображением оружия персонажа, которые при повторном замере более не проявились. Задействование программы, расширяющей диапазон буфера хранения данных, прибавило 3-5% к максимальному FPS. Общий прирост производительности от перевода MMORPG на «актуальные» графические API составил 20-35%.

Запуск классической версии Grand Theft Auto: Vice City на современных видеокартах приводит к забавному сбою: модели транспорта пропадают, а анимации сильно ускоряются. Установка D3d8to9 решает эту проблему. Показатели прироста производительности от перевода игры на DX9 практически идентичны Perfect World и составляют 20-40%.

Забавный баг
Забавный баг
Автор: Rockstar Games

Преимущества

Мы наглядно выяснили, что использование ретрансляторов в купе с программной на задействование 4 Гб способно прибавить старым играм пару процентов к максимальному FPS, а также исправить графические недостатки. Но зачем это нужно в век высокопроизводительных ПК, где буфер GPU насчитывает десятки гигабайт, а CPU давно перешагнули планку в 5 ГГц? Всё дело в том, что разработчики не всегда стремятся выпускать свои шедевры на отличные от Windows платформы, из-за чего многие хорошие проекты навсегда остаются запертыми в узких рамках операционной системы и устаревающих технологий. Ретрансляторы же позволяют вновь насладиться любимыми играми без необходимости переустанавливать ОС или искать на барахолках устаревшее железо. Не говоря уже о возможности активации FSR, DLSS, TXAA и т. п.

Игра запущенная на ArchLinux (Wine+DXVK)
Игра запущенная на ArchLinux (Wine+DXVK)
Автор: Capcom Источник: www.ixbt.com

Заключение

Задействование графических ретрансляторов схоже по своей философии с эмуляторами игровых приставок, позволяя пользователю запускать старые игры без привязки к оборудованию, операционной системы и версии графического API. Однако не стоит забывать, что, в отличие от нативного выполнения, любая прослойка потребует дополнительных ресурсов и не всегда способна обеспечить точное воссоздание оригинальных эффектов. Использовать ли её или ограничиться нативным выполнением — решать только вам.

Изображение в превью:
Автор: Rockstar Games
Источник: www.ixbt.com
Приключенческий боевикОнлайновая ролевая играPCДругойДругая
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Связь: https://vk.com/kerfaers или t.me/Pavel_Priluckiy

2 комментария

Scilla
Хорошая тема. Удивительно, что нет никакой реакции. Часто сталкиваюсь, что множество прикольных старых пк игр, адекватно не работают на современном компе и ремастеров тоже нет. А если и есть, то дичь, вроде ГТА Трилоджи Дефективное издание.
Pavel_Priluckiy
Геймеры стали хомячками корпораций.

Добавить комментарий

Сейчас на главной

Новости

Публикации

Как певчие птицы попадают в рацион тигровых акул?

В 2010 году у побережья Миссисипи и Алабамы исследователи поймали небольшую тигровую акулу. Прежде чем её пометили и отпустили, она срыгнула перья. Проверка показала, что они принадлежали бурому...

Почему одна сторона лица стареет быстрее другой

Лицо почти никогда не стареет идеально симметрично. Небольшие различия, едва заметные в молодости, с годами становятся всё более выраженными. И одна сторона лица нередко выглядит заметно старше...

Пани-пури: как хрустящий шарик с начинкой и пряной водой превратился в одну из самых необычных уличных закусок Индии

Пани-пури почти не оставляет времени на раздумья. Продавец берёт тонкий хрустящий шарик, пробивает в нём отверстие, кладёт внутрь начинку, погружает в пряную воду и сразу протягивает покупателю....

Буквы АС и А на УЗО: что значит и куда какой выбрать

Маркировка на корпусе устройства защитного отключения (УЗО) или дифференциального автомата — это ключевой параметр, от которого напрямую зависит безопасность людей и электроприборов в...

Стеклянная банка для электричества: как лейденская банка стала предком конденсатора

В середине XVIII века электричество умели получать весьма эффектно. Стеклянную трубку натирали тканью, крутили электростатическую машину, вытягивали искры и заставляли волосы вставать дыбом....

Слишком медленная для охоты? Как гигантская черепаха поймала и съела птенца

Птенец отступает по упавшему стволу. Перед ним — гигантская черепаха. Она движется медленно, но не отворачивает и не переключается на растущую рядом зелень. Птица отходит ещё немного....