Вышел D7VK 2.0 — проект реализации Direct3D 7 поверх API Vulkan

Состоялся второй мажорный выпуск открытого проекта D7VK. Решение является реализацией Direct3D 7 поверх графического API Vulkan. Исходный код проекта написан на языке C++ и опубликован на GitHub под лицензией Zlib. В качестве основы при разработке использован код бэкенда d3d9 от проекта DXVK. Версия D7VK 1.0 вышла в декабре 2025 года.

Инструмент D7VK работает через трансляцию вызовов в API Vulkan и позволяет при помощи Wine запускать в Linux ретро‑игры, завязанные на API Direct3D 7.

Разработчики отметили, что D7VK 2.0 является второй более стабилизированной версий проекта, готовой для широкого применения. По сравнению с WineD3D поддерживается сглаживание при отрисовке (D3DRENDERSTATE_ANTIALIAS) и имеется возможность ограничения частоты кадров для старых игр, некорректно работающих при высоких FPS.

Из ограничений в проекте D7VK озвучена необходимость наличия GPU с поддержкой Vulkan 1.3 и отсутствие поддержки некоторых возможностей D3D7. Команда проекта не намерена добиваться включения D7VK в состав DXVK, как, например, это было с реализациями Direct3D 8 и Direct3D 9 поверх Vulkan.

По информации OpenNET, значительное изменение номера версии D7VK объясняется внесением оптимизаций, повышающих производительность более чем в два раза в некоторых ситуациях, в которых вычисления производятся только на стороне CPU. В решении улучшена обработка вызова ProcessVertices, в котором для всех вычислений при помощи CPU задействованы SSE‑инструкции, а также оптимизирована работа с буферами. В итоге, по сравнению с выпуском D7VK 1.12 производительность в игре Half‑Life выросла с 19.8 до 59.9 кадров в секунду, а в игре Toy Story 2 — с 9.8 до 30 FPS.

В проекте отключена большая часть обработчиков для записи в отладочные логи, приводивших к заметным накладным расходам из‑за манипуляций со строками. Показатели производительности D3D6 в тесте 3DMark 99 Max увеличились с 75 282 баллов в D7VK 1.12 до 111 398 в D7VK 2.0, а D3D7 в тесте 3DMark 2000 v1.1 с 69 566 в D7VK 1.12 до 164 075 в D7VK 2.0. В игре Unreal Tournament FPS вырос с 484 до 654, а нагрузка на GPU снизилась с 18% до 17%.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев