Проект D7VK обновился до версии 2.0 и получил прирост производительности до 2 раз в процессорозависимых играх

от aadmin

Разработчики транслятора D7VK представили крупное обновление под номером 2.0, предназначенное для запуска старых игр эпохи API Direct3D 7 через Vulkan. Релиз принёс значительные оптимизации, которые в некоторых процессорозависимых проектах увеличили кадровую частоту более чем в 2 раза.

Основное внимание в новой версии было уделено устранению узких мест со стороны центрального процессора. Разработчик под псевдонимом CkNoSFeRaTU реализовал оптимизированные вручную инструкции SSE для вычислений в функции ProcessVertices. Благодаря этому изменению, а также доработкам механизмов доступа к буферам памяти, производительность существенно выросла в таких проектах, как Half-Life и Toy Story 2 — Buzz Lightyear to the Rescue.

Дополнительным источником прироста производительности послужила оптимизация встроенных систем отладки. Ранее многочисленные логгеры выполняли строковые операции даже в фоновом режиме, когда вывод логов был отключен. В версии 2.0 большинство этих логгеров были перенесены из критически важных путей выполнения кода или полностью устранены. В результате тесты производительности в 3DMark 99, 3DMark 2000 и классическом шутере Unreal Tournament показали заметный рост кадровой частоты, переведя основную нагрузку на графический чип. В играх с ограничением частоты кадров данное изменение позволит снизить общую загрузку процессора, освобождая ресурсы для симуляции игрового мира и искусственного интеллекта.

Рекомендую посмотреть
Улучшенная компиляция шейдеров, реалистичные люди и шейдер для аниме - состоялся релиз Unreal Engine 5.8

Помимо оптимизаций, проект D7VK был перенесен на кодовую базу актуальной версии DXVK 3.0.2. Разработчики добавили специальный обходной путь для распределения буферов памяти, что ускорило передачу данных в играх на движке GoldSrc, включая Half-Life, а также в хорроре SCP — Containment Breach. Кроме того, в коде была упрощена обработка прикрепления поверхностей благодаря исправлению ошибки в WineD3D, что ускорило выполнение всех системных вызовов функции Flip.

Релиз 2.0 принес множество точечных улучшений совместимости на основе анализа поведения реальных видеокарт того времени, включая Matrox G400, Nvidia Riva TNT2 и ATI Rage 128 под управлением Windows XP. Это позволило глобально скорректировать параметры текстурных ограничений, исправить дефекты с отсечением геометрии в стратегии Empire Earth и избавиться от индивидуальных исправлений для Total Annihilation — Kingdoms и Revenant. В автосимуляторе Need for Speed — Porsche была решена проблема с мерцанием текстур на ночных трассах, а в Dungeon Keeper 2 добавлен ограничитель кадров, предотвращающий чрезмерно быстрое воспроизведение анимации воды и огня. Обновление также исправило ошибку с черным экраном в сборнике The Sims — Complete Collection.

Связанные посты