Эмуляция старых игр получила очередной небольшой импульс благодаря выходу D7VK версии 1.1. Этот уровень трансляции Direct3D в Vulkan позволяет запускать старые игры Direct3D 7 на современном оборудовании и получил значительные улучшения, включая новый интерфейс и экспериментальную поддержку Direct3D 6.
Если вы немного запутались, D7VK — это уровень трансляции, который преобразует вызовы Direct3D 7 в Direct X 9, работающий под слоем DXVK Proton, тем самым используя проверенную инфраструктуру и программную экосистему DXVK. Будучи всего лишь уровнем трансляции, он имеет незначительное снижение производительности и может работать в несколько раз быстрее, чем полный эмулятор, такой как WineD3D.
Наряду с новым интерфейсом, обновление 1.1 добавляет поддержку Direct3D 6 в качестве экспериментальной опции. Автор упоминает, что, судя по документации, добавление этого API не должно составить большого труда. Это резко контрастирует с беззаконными землями Direct3D версии 5 и ниже. Даже в нынешнем виде, по их собственным словам, “D3D7 – это земля крайне проклятой интероперабельности”, где многие игры смешивают вызовы Direct3D со старыми API Windows, такими как DirectDraw и даже GDI для 2D-графики.
В свою очередь, это означает, что поддержка игр носит случайный характер, в зависимости от того, насколько “хакерски” игра была первоначально запрограммирована. Например, эта последняя версия добавляет обходной путь, специфичный для Sacrifice, который использует полностью неподдерживаемый формат буфера глубины. Точно так же поддержка рендеринга примитивов с шагом делает Sacred играбельной, а исправления для подмены mipmap позволяют геймерам снова наслаждаться Gothic, Gothic 2 и Star Trek DS9: The Fallen, как будто они только что были выпущены.
Многие популярные игры Direct3D 6 были переизданы с использованием современных API, включая Final Fantasy VIII, Resident Evil 2 и Grand Theft Auto 2.
Дополнительные исправления для игр включают обходные пути для Conquest: Frontier Wars, Tomb Raider Chronicles, Darkan: Order of the Flame, Earth 2150, Tachyon: The Fringe и Arabian Nights. Если у вас есть конкретная игра, которая работает плохо, посетите раздел проблем в D7VK GitHub, чтобы оставить свой отзыв. Тем временем, если ваша игра не запускается или слишком стара, чтобы использовать даже Direct3D 7, вы можете использовать WineD3D от Wine.
WinD3D по иронии судьбы также работает в самой Windows, что упрощает запуск старых игр на современных версиях ОС. Если в вашей старой игре использовались Glide или OpenGL, автор рекомендует nGlide.
Всегда имейте в виду, что редакции некоторых изданий могут придерживаться предвзятых взглядов в освещении новостей.
8/9
Автор – Bruno Ferreira




