D7VK 1.0: Проект для игр эпохи Direct3D 7 официально признан готовым к использованию

Настал исторический момент для поклонников классических игр на Linux и Wine: переводчик D7VK, превращающий вызовы старого Direct3D 7 в современный Vulkan, достиг статуса «production ready» и получает версию 1.0.

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

Зачем вообще нужен D7VK? Сравнение с WineD3D

Преимущества перед WineD3D:

  • Поддержка сглаживания (Anti-aliasing): Работает настройка D3DRENDERSTATE_ANTIALIAS, также можно принудительно его включить.

  • Целевые исправления производительности для проблемных игр.

  • Встроенные ограничители FPS для игр, которые ломаются на высоких кадрах (к сожалению, для D3D7 это частая проблема).

Недостатки:

  • Несколько отсутствующих функций D3D7 (но они, скорее всего, будут добавлены позже).

  • Особенности работы с Wayland (WSI) могут быть неидеальными.

Не работающее:

  • Достаточно много оставшихся багов.

  • Устаревшая архитектура, которая по какому-то чуду в большинстве случаев работает достаточно хорошо.

Когда WineD3D всё ещё нужен?

Не спешите удалять старый добрый WineD3D. Он понадобится для:

  • Более ранних API: Direct3D до 7-й версии и DDraw.

  • Игр, использующих устаревшую связку DDraw <-> D3D7 (к счастью, это не так распространено).

  • Его отличной общей совместимости и покрытия функций.

  • Видеокарт, не поддерживающих Vulkan 1.3.

  • Бенчмаркинга (для чистоты сравнения).

Тест для примера: Запуск стандартного бенчмарка 3DMark 2000 на RTX 4070.

  • D7VK v1.0: 115.9 FPS

  • WineD3D*: 78.7 FPS
    *Использован Wine Staging 11.0-rc1 с бэкендом OpenGL. Vulkan-бэкенд Wine почему-то не запустил 3DMark 2000.

Благодарности:

Разработчик отмечает, что проект был бы невозможен без:

  • Команды WineD3D (за реализацию DDraw).

  • Команды DXVK (@doitsujin, @misyltoad, @K0bin, @AlpyneDreams).

  • @elishacloud и @CkNoSFeRaTU за полезные советы и «гениальные, но проклятые» обходные пути.

  • @Blisto91 за вечную поддержку всех безумных начинаний с древними API. P.S.: Не верьте ему, что он не разработчик — он просто в отрицании.

Лучшие игры эпохи D3D7, которые теперь «летают»

D7VK открывает второе дыхание для культовых проектов. Вот лишь несколько примеров полностью поддерживаемых шедевров:

  • Sacrifice

  • Dark Reign 2

  • Clive Barker's Undying

  • Unreal Tournament

  • Vampire: The Masquerade - Redemption

  • Hitman: Codename 47

  • Deus Ex

  • Colin McRae Rally 2.0

  • Black & White

  • Wizardry 8

  • ...и многие другие!

Итог: Пора сокращать бэклог!

Релиз D7VK 1.0 — отличный повод вспомнить, что «новое — не всегда лучше». Многие из этих «древних» игр на D3D7 по-прежнему фантастически хороши и заслуживают нашей благодарности даже сегодня.

Наслаждайтесь классикой с новой производительностью!

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