Релиз транслятора D7VK 2.3 повысил производительность классических игр и перевел проект в режим поддержки

Разработчик под псевдонимом WinterSnowfall представил релиз D7VK 2.3 — транслятора классических версий графического API DirectX на базе Vulkan. Свежее обновление базируется на недавно вышедшей версии DXVK 3.1.1 и принесло масштабные переработки внутренней архитектуры, исправления рендеринга для целой плеяды ретро-игр, а также заметный прирост кадровой частоты за счет оптимизации работы с поверхностями.

Вместе с публикацией новой сборки автор проекта объявил о переводе D7VK в режим долгосрочной поддержки, отметив фактическое достижение изначально поставленных задач.

Главным техническим достижением версии 2.3 стала переработка механизма теневых поверхностей и оптимизация их размещения в оперативной памяти. Данная технология применяется для предотвращения конфликтов цепочки показа со слоем WineD3D при выводе картинки на экран. Прежняя реализация приводила к сильным задержкам в проектах, которые отрисовывают курсор мыши прямо поверх готового первичного буфера. Перенос вспомогательных поверхностей в системную память снизил накладные расходы и обеспечил ощутимый прирост частоты кадров. Наиболее впечатляющий скачок скорости зафиксирован в стратегии Empire Earth, где кадровая частота выросла в разы по сравнению с ранними версиями транслятора и стандартным рендерером WineD3D на базе OpenGL.

Единственным проектом, пострадавшим от нового распределения ресурсов памяти, оказалась космическая стратегия Star Trek: Armada. В ней изменение вызвало снижение производительности, поэтому автор добавил специальную опцию в конфигурационный файл, позволяющую вернуть прежнюю синхронизацию поверхностей. Кроме того, в кодовую базу внедрили предварительную проверку поддержки форматов глубины на стороне Vulkan перед отправкой отчетов приложению. Это нововведение призвано предотвратить графические артефакты и сбои на мобильных графических процессорах с ограниченной функциональностью драйверов.

Свежий релиз устранил давние технические неполадки в нескольких культовых играх конца 90-х и начала 2000-х годов. В исходной версии гоночного симулятора Need for Speed: Porsche без неофициальных патчей заработало воспроизведение вступительных видеороликов, ради чего пришлось принудительно отключить оверлейные поверхности. Энтузиаст под ником CkNoSFeRaTU помог устранить критическую ошибку в обработке буферов вершин, из-за которой боевик Dark Vengeance страдал от серьезных дефектов графики. В результате проект впервые стал полностью проходимым на операционных системах Linux.

Существенные изменения затронули и структуру буферов команд. Из транслятора удалили строгие проверки размеров структур, поскольку оригинальная библиотека DirectX их не выполняла, а некоторые старые игры передавали в систему откровенно поврежденные данные, как это происходило в шутере Forsaken. В космическом симуляторе Star Wars: X-Wing Alliance из каталога GOG устранены вылеты при запуске благодаря объединению реализации областей видимости. В тактическом шутере Z.A.R. разработчики починили сломанную прозрачность воды, возникавшую из-за зависания устаревших операций альфа-смешивания.

Для гоночной аркады Redline Racer добавили параметр инвертированного масштабирования детализации текстур, который требовался игре из-за давней ошибки в официальной документации Direct3D. Также авторы переработали логику дескрипторов текстур для стабильной работы ролевой игры Grandia II и обновили обработку вершин под нужды экшенов G-Police и HyperBlade. Теперь развитие проекта сосредоточится исключительно на точечных исправлениях ошибок по мере их обнаружения сообществом.

Источник: www.playground.ru

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