VKD3D-Proton е разклонение на VKD3D, което има за цел да внедри пълния Direct3D 12 API върху Vulkan.
Valve наскоро представиха пускане на новата версия на VKD3D-Proton 2.9, разклонение на кодовата база vkd3d, предназначено да подобри съвместимостта с Direct3D 12 в програмата за стартиране на игри Proton.
За тези, които все още не са запознати с VKD3D-Proton, трябва да знаете, че това Поддържа специфични за Proton промени, оптимизации и подобрения за по-добра производителност на Direct3D 12-базирани игри за Windows, които все още не са приети в основната част на vkd3d. Сред разликите има и фокус върху използването на съвременни разширения на Vulkan и възможностите на последните версии на графичните драйвери за постигане на пълна съвместимост с Direct3D 12.
Като такъв Valve използва вилицата, посочена в базирания на Wine пакет за стартиране на игри на Windows Proton. Поддръжката на DirectX 9/10/11 в Proton се основава на пакета DXVK, а внедряването на DirectX 12 досега се основава на библиотеката vkd3d (след смъртта на автора на vkd3d, CodeWeavers продължи развитието на този компонент и винената общност).
Основни новости на VKD3D-Proton 2.9
Тази нова версия на VKD3D-Proton 2.9 споменава това някои игри започнаха да приемат, че DLL файловете са проектирани подобно на AgilitySDK, при което библиотеката d3d12core.dll е разделена на зареждаща (d3d12.dll) и основна реализация (d3d12core.dll). С тази промяна няколко скрипта вече ще трябва да бъдат актуализирани, за да поемат и двете DLL файлове. След като d3d12.dll е инсталиран в префикс, само d3d12core.dll трябва да се актуализира.
Друга от промените, които се открояват в тази нова версия, са внедрени оптимизации на производителността и това ли е в тази версия изискванията за памет бяха значително намалени при първото стартиране на приложението.
Също така се подчертава, чеe има подобрена производителност в кода, който използва разширението VK_EXT_дескриптор_буфер, както и добавени оптимизации за системи с графични процесори Intel, AMD и NVIDIA.
Освен, че, добавена поддръжка за интерфейси за преносимост D3D11On12, Премахнат код с предишната реализация на виртуални фреймбуфери (SwapChain), добавена поддръжка за стандартни интерфейси на Linux за SwapChain и поправени някои проблеми, възникнали при използване на драйверите NVIDIA и RADV.
Освен това, Vulkan 1.3 вече е деклариран като минимално необходимата версия, Също така е добавена поддръжка за операции нарязани извън ред (3D UAV, Unordered View), реализирани с помощта на разширението VK_EXT_image_sliced_view_of_3d.
От останалите промени които се открояват от тази нова версия:
- Подобрено поведение на VRAM, когато се поддържа VK_EXT_pageable_device_local_memory, което позволява API на Evicty и MakeResident да бъдат внедрени по полезен начин.
VK_EXT_memory_priority също се използва за даване на статични приоритети като резервен вариант. - Подобрена поддръжка за DXR 1.1 чрез активиране на разширението VK_EXT_pipeline_library_group_handles.
- Добавена е поддръжка за разширението VK_EXT_fragment_shader_interlock.
- Подобрена съвместимост с игри, които използват специфични функции на AgilitySDK.
- Коригирани проблеми в много игри.
- Във Wine се използва winevulkan.dll вместо vulkan-1.dll, ако е наличен.
- Подобрения в съвместимостта с игри, които зависят от определени детайли на AgilitySDK.
- Подобрена съвместимост на системата за изграждане с различни версии на widl
- VKD3D_CONFIG=dxr вече позволява и DXR 1.1 и dxr11 се запазва за съвместимост.
- Фиксирана минимална стойност на яркостта на HDR метаданни.
- Добавени са VKD3D_LIMIT_TESS_FACTORS за коригиране на прекомерната теселация. Активирано за Wo Long.
- Коригирана грешка в RADV, която причинява излишна памет в кешовете на шейдърите. Можете да спестите няколкостотин MB памет, което е важно при определени гладни за памет заглавия, за да избегнете нестабилност.
- Коригиран бъг на NVIDIA с едновременни изпращания на опашка, използвайки семафори на времевата линия
- Коригирани са куп необясними грешки Xid 109 CTX_SWITCH_TIMEOUT в много различни игри.
Накрая Ако се интересувате да научите повече за тази нова версия, можете да проверите подробностите В следващия линк.И ако искате опитайте Proton в Steam сега, вече знаете, че можете да инсталирате Steam клиента от официален уебсайт, въпреки че ще го намерите и в репозиториите на повечето дистрибуции.