Разработчик под псевдонимом WinterSnowfall выпустил обновление транслятора D7VK 2. 2, который позволяет запускать игры, использующие классические графические API Direct3D 7, 6, 5 и 3, на современном Vulkan. Основное внимание в этой версии уделено доработке поддержки Direct3D 3, которая оставалась наименее развитой с момента её внедрения в версии 1. 5. По словам автора, игры той эпохи — это настоящие артефакты, которые сложно найти даже на специализированных ресурсах.
Ключевые улучшения D7VK 2. 2
Версия 2. 2 основана на свежем релизе DXVK 3. 1 и включает полную переработку механизма подсчёта ссылок для устройств Direct3D 3, что приближает его поведение к нативной реализации Microsoft. Совместно с энтузиастом CkNoSFeRaTU была проведена масштабная проверка буферов выполнения с использованием классических тестов Wine. Это позволило исправить ошибки трансформации вершин, вызванные неверным форматом FVF, а также баги в вычислениях проекционных матриц, которые затрагивали старые проекты на Direct3D 6, 5 и 3. Кроме того, повышена стабильность обработки текстур: используемые поверхности больше не удаляются из памяти во время рендеринга.
Существенные изменения коснулись системы прозрачности color key. Алгоритм расчёта нормализованных цветовых диапазонов был оптимизирован и переведён на кэширование, что обеспечило прирост производительности без лишних вычислений. Также устранена ошибка деления на ноль для палитровых поверхностей и оптимизирован конвейер отрисовки Begin(), Vertex() и End() для Direct3D 6 и 5. Эти правки сократили потребление памяти и увеличили быстродействие в ретро-играх, включая классическую Frogger 1997 года.
Параллельно вышла новая сборка форка DXVK-Sarek 1. 13. 0, предназначенная для владельцев старых видеокарт, поддерживающих только Vulkan 1. 1 и 1. 2. Разработчики перенесли в неё все новшества ветки D7VK 2. 1 и заново написали поддержку прозрачности color key под устаревший компилятор шейдеров при участии энтузиаста pythonlover02. Кроме того, в DXVK-Sarek появился обходной путь для альтернативного положения центров пикселей, что позволило полностью устранить раздражающие полосы и графические артефакты на фонах в культовой Resident Evil 2.
Необходимость в развитии подобных независимых прослоек обусловлена позицией авторов основного проекта DXVK, которые принципиально отказываются внедрять или поддерживать технологии старше Direct3D 8. Транслятор D7VK разрабатывается в первую очередь для операционных систем на базе Linux и связки с Wine, где он выступает связующим звеном между системной библиотекой DDraw и бэкендом Direct3D 9. Поддержка Windows авторами официально не тестируется, поэтому любителям запускать раритеты на современных платформах по-прежнему приходится мириться со сложной ручной подменой системных библиотек.

Комментарии
Оставляйте комментарии, отвечайте другим пользователям, ставьте плюсы и минусы и добавляйте быстрые реакции.
Войдите в аккаунт, чтобы оставлять комментарии, отвечать другим пользователям и ставить реакции.