D7VK 1.8: огромен скок в съвместимостта с класически D3D игри и две ключови нови системи

0
13
Vulkan Graphics

D7VK 1.8 поставя нова ера в историята на проекта

Новата версия на D7VK пристига с най-мащабния пакет от подобрения досега, с десетки поправки в рендъра на стари Direct3D заглавия и две фундаментални промени в начина, по който проектът обработва геометрия и презентация. Ъпдейтът е насочен към най‑проблемните механики от ерата на D3D7 и по‑ранните API, което го превръща в едно от най‑значимите издания на проекта.

Поддръжката на ProcessVertices при D7VK 1.8, реализирана изцяло на CPU, е първият голям стълб на версия 1.8. Тази функция, често използвана в ранните 3D игри, от години създаваше липсваща геометрия, неправилни модели и празни сцени. Новата имплементация, дело на @CkNoSFeRaTU, премахва тези проблеми в широк набор от заглавия, от Forsaken и Resident Evil до Praetorians, Hidden & Dangerous и Tomb Raider: The Last Revelation. За много от тях това е първият път, в който рендърът изглежда коректно под Vulkan.

Втората ключова промяна е пълното премахване на proxied presentation и замяната ѝ с legacy presentation. Старият подход разчиташе на WineD3D или Windows DDraw за финалното представяне на кадъра, което водеше до липса на DXVK HUD, ограничени настройки и често до визуални артефакти. Новият механизъм връща финалното „композирано“ изображение обратно към D7VK и го представя чрез Vulkan. Това позволява използване на HUD, фреймрейт лимити, VSync контрол и всички инструменти, които Vulkan предоставя. Макар да изисква допълнителен пълен blit, реалната загуба на производителност е минимална, а съвместимостта е значително по‑добра.

По‑широки корекции в рендъра на класически игри

Освен двете големи системни промени, версия 1.8 включва и множество целеви поправки, които решават дългогодишни проблеми в конкретни заглавия. Част от тях са резултат от задълбочени разследвания на @CkNoSFeRaTU, който е открил и коригирал няколко трудни за проследяване дефекта.

Поправен е липсващият терен в Age of Wonders II и Shadow Magic. Това е проблем, който се оказва свързан с неправилно обработени данни за геометрията. Подобрено е и управлението на D3D светлините, което възстановява коректното осветление в X: Beyond the Frontier и X: Tension. В Resident Evil е решен артефакт, причинен от неточни скалиращи операции, характерни за ранните PS1 портове, които днес се проявяват по‑силно заради по‑строгите драйвъри и модерния хардуер.

Прочетете още:  Въпреки всички кръпки Windows Defender е все още уязвим

Коригирани са и редица визуални елементи: липсващи интро видеа в Divine Divinity, фонове в паузата на Tomb Raider III, както и срив при стартиране на Hype: The Time Quest. Добавени са и нови вградени конфигурационни профили, които автоматично прилагат нужните настройки за игри като POD, Prince of Persia 3D и Trespasser.

Legacy presentation: нов живот за DDraw „композитинга“

Една от най‑интересните части на ъпдейта е новият подход към игрите, които използват DDraw като своеобразен compositor. Най-общо това може да се опише като техника, при която интерфейс, текстове и други елементи се наслагват върху вече рендерирана сцена. Тези заглавия, сред които Blade of Darkness, Sacred, Lands of Lore III и FIFA 2001, често страдаха от липсващи менюта, черни екрани или неправилно показани видеа.

Legacy presentation решава проблема, като поема целия процес, от композиране до финално представяне, в рамките на D7VK. Това не само възстановява визуалната коректност, но и позволява използване на DXVK HUD и всички Vulkan‑базирани инструменти. Макар методът да е по‑бавен по принцип, реалната разлика е малка, а стабилността значително се повишава.

ProcessVertices: най‑големият враг на ранните D3D рендъри

В списъка с промените разработчиците отделят специално внимание на ProcessVertices, функция, която исторически е била слабо поддържана в DXVK. Много игри разчитат на нея за трансформация на геометрията преди рендър, а липсата на пълна имплементация е водила до празни сцени или липсващи модели. Новата CPU‑базирана реализация е достатъчно точна, за да възпроизведе поведението на старите драйвъри, което прави огромна разлика в съвместимостта.

Разработчиците дори дават за пример играта Resident Evil, където при скалиране се появяват артефакти. Това е проблем, който се проявява на всички модерни модели видеокарти, включително под Windows, но вече е коригиран в D7VK.

Финални щрихи и поглед напред

Версия 1.8 е едновременно технически амбициозна и практична, защото тя решава реални проблеми, които пречат на класически игри да работят коректно на съвременни системи. Със значително подобрената съвместимост, новите профили и двете фундаментални системи за рендър и презентация, D7VK прави още една голяма крачка към пълноценна поддръжка на D3D7 ерата.

Разработчиците намекват, че оптимизации за legacy presentation предстоят, което означава, че следващите версии вероятно ще донесат още по‑добра производителност и стабилност. И вълнуващи промени, разбира се.

Повече можете да научите от официалния анонс.