Вышла новая версия D7VK 1.8

Разработчики D7VK продолжают расшифровывать тёмные уголки старых 3D-API. Версия 1.8 — это значительный шаг вперёд, решающий два фундаментальных класса проблем, с которыми сталкивались многие игры эпохи Direct3D 7 и более ранних версий.

Главные новинки

Процессинг вершин на CPU (ProcessVertices)

Благодаря героическим усилиям @CkNoSFeRaTU, в D7VK появилась полноценная поддержка вызовов ProcessVertices, которая реализована на центральном процессоре. Это исправило рендеринг в огромном количестве игр на всех поддерживаемых API:

  • Forsaken
  • Resident Evil
  • Praetorians
  • Hidden & Dangerous
  • Escape from Monkey Island
  • Tomb Raider: The Last Revelation
  • И многих других.

Upstream-реализация ProcessVertices в DXVK была очень ограниченной и недостаточной для того объёма использования, который эта функция получала в D3D7 и более ранних версиях. В результате многие игры просто теряли геометрию или рендерили едва различимые объекты. Теперь эти проблемы полностью решены.

Замена проксированной презентации на легаси-презентацию

Второе крупное изменение касается того, как D7VK обрабатывает особый, к сожалению, нередкий вид взаимодействия с DDraw — «композитинг» внутри поверхностей DDraw. Ранние D3D-игры иногда использовали блиттинг изображений (элементы GUI, текст, оверлеи, кнопки, украшения) поверх уже отрисованного изображения.

Проксированная презентация (старый метод): Синхронизировала содержимое D7VK обратно в DDraw, но финальная презентация результата оставалась за WineD3D (или нативным DDraw), что означало использование OpenGL-цепочки обмена и отсутствие возможности использовать DXVK HUD.

Легаси-презентация (новый метод): Дополнительно забирает финальное обработанное изображение из DDraw и последний раз загружает его обратно в D7VK для презентации через Vulkan. Это добавляет ещё один полный блитт изображения, поэтому теоретически медленнее (хотя на практике незначительно). Но взамен даёт:

  • Доступ к DXVK HUD (оверлей с метриками).
  • Возможность использовать любые инструменты Vulkan.
  • Прямой контроль над презентацией: ограничение частоты кадров, управление VSync, тайминги презентации и т.д.

Новый метод включён для игр, которые нуждаются в этой устаревшей «функциональности» DDraw. Ожидается, что производительность на этом новом пути презентации немного улучшится в следующих релизах.

Благодаря новой презентации исправлены:

  • Отсутствующее видео, экраны загрузки и/или элементы меню в Blade of Darkness, Sacred, Lands of Lore III, Codename: Outbreak, FIFA 2001, FIFA '99, Simon the Sorcerer 3D и других играх.
  • Все игры, которые ранее презентовались через WineD3D, теперь получают полноценную поддержку DXVK HUD, ограничения частоты кадров и другие настройки.

Другие исправления и улучшения

  • Террейн в Age of Wonders II / Shadow Magic: Благодаря расследованию @CkNoSFeRaTU выявлена и решена проблема, вызывавшая пропадание ландшафта.
  • Освещение в X: Beyond the Frontier и X: Tension: Исправлена недоработка в обработке D3D-освещения. Обе игры теперь работают корректно (ещё один «анонимный совет» от @CkNoSFeRaTU).
  • Divine Divinity: Исправлена проблема с отсутствующим интро.
  • Tomb Raider III: Исправлены отсутствующие фоны меню паузы.
  • Hype: The Time Quest: Исправлен краш при запуске.
  • Resident Evil: Обойдена проблема с масштабированием, вызывавшая линейчатые артефакты на фоновых изображениях (см. сравнение в оригинальном тексте).
  • Копии depth-stencil: Решена регрессия путём возвращения на последний upstream DXVK.
  • Встроенные конфигурационные профили: Добавлены профили с исправлениями для многих игр, включая POD, Prince of Persia 3D, Jurassic Park: Trespasser.

Проблема целочисленного масштабирования в портах с PS1

Ранние порты с PlayStation 1 имели очень приблизительный способ обработки своих расчетов масштабирования, прошлые драйвера и оборудование были более терпимы к небольшим ошибкам. Однако на современных GPU эти проблемы проявляются в виде артефактов (например, линейчатых артефактов на фоне в Resident Evil). D7VK теперь обходит эти проблемы.

Релиз D7VK 1.8 уже доступен на GitHub-странице проекта. Разработчики особенно довольны множеством исправлений в этом выпуске и приглашают всех наслаждаться классикой, такой как Praetorians, теперь на Vulkan с полным доступом к инструментам отладки и оверлеям.

  • Просмотров: 148

Этот веб-сайт использует технические и функциональные файлы cookie. Чтобы зарегистрировать учетную запись, связаться с нами, получить наши продукты или услуги, вы должны принять нашу Политику Конфиденциальности. Нажимая кнопку «Принять» или щелкая любую ссылку на этой странице, вы соглашаетесь на использование файлов cookie и принимаете нашу Политику использования cookie-файлов.