Niedawno Valve zaprezentowało tzw wydanie nowej wersji VKD3D-Proton 2.9, rozwidlenie bazy kodu vkd3d, zaprojektowane w celu poprawy kompatybilności z Direct3D 12 w programie uruchamiającym gry Proton.
Dla tych, którzy wciąż nie wiedzą o VKD3D-Proton, powinniście wiedzieć, że to Obsługuje zmiany, optymalizacje i ulepszenia specyficzne dla Protona dla lepszej wydajności gier Windows opartych na Direct3D 12, które nie są jeszcze akceptowane w głównej części vkd3d. Wśród różnic znajduje się również nacisk na wykorzystanie nowoczesnych rozszerzeń Vulkan i możliwości najnowszych wersji sterowników graficznych w celu uzyskania pełnej kompatybilności z Direct3D 12.
Takie jak Valve używa widelca określonego w pakiecie opartym na Wine do uruchamiania gier Windows Proton. Obsługa DirectX 9/10/11 w Protonie oparta jest na pakiecie DXVK, a implementacja DirectX 12 opierała się dotychczas na bibliotece vkd3d (po śmierci autora vkd3d, CodeWeavers kontynuowało rozwój tego komponentu i społeczności wine).
Główne nowości VKD3D-Proton 2.9
Ta nowa wersja VKD3D-Proton 2.9 o tym wspomina niektóre gry zaczęły zakładać, że biblioteki DLL zostały zaprojektowane podobnie do AgilitySDK, po czym biblioteka d3d12core.dll jest dzielona na moduł ładujący (d3d12.dll) i główną implementację (d3d12core.dll). Dzięki tej zmianie kilka skryptów będzie musiało zostać zaktualizowanych w celu uwzględnienia obu bibliotek DLL. Po zainstalowaniu pliku d3d12.dll w prefiksie należy zaktualizować tylko plik d3d12core.dll.
Kolejną ze zmian, które wyróżniają się w tej nowej wersji, są wdrożone optymalizacje wydajności i czy to jest w tej wersji wymagania dotyczące pamięci zostały znacznie zmniejszone przy pierwszym uruchomieniu aplikacji.
Podkreśla się również, żee poprawiło wydajność kodu, który używa rozszerzenie VK_EXT_descriptor_buffer, a także dodano optymalizacje dla systemów z procesorami graficznymi Intel, AMD i NVIDIA.
Poza tym, dodano obsługę interfejsów przenośności D3D11On12, Usunięto kod z poprzedniej implementacji wirtualnych buforów ramki (SwapChain), dodano obsługę standardowych interfejsów Linuksa dla SwapChain i naprawiono niektóre problemy, które występowały podczas korzystania ze sterowników NVIDIA i RADV.
Ponadto Vulkan 1.3 jest teraz zadeklarowany jako minimalna wymagana wersja, Dodano także obsługę operacji wyciętych poza kolejnością (3D UAV, widok nieuporządkowany), zaimplementowanych przy użyciu rozszerzenia VK_EXT_image_sliced_view_of_3d.
Z innych zmian które wyróżniają się na tle nowej wersji:
- Poprawiono zachowanie pamięci VRAM, gdy obsługiwana jest pamięć VK_EXT_pageable_device_local_memory, umożliwiając użyteczną implementację interfejsów API Evicty i MakeResident.
VK_EXT_memory_priority jest również używany do nadawania priorytetów statycznych jako rezerwa. - Ulepszona obsługa DXR 1.1 poprzez włączenie rozszerzenia VK_EXT_pipeline_library_group_handles.
- Dodano obsługę rozszerzenia VK_EXT_fragment_shader_interlock.
- Poprawiona kompatybilność z grami korzystającymi z określonych funkcji pakietu AgilitySDK.
- Naprawiono problemy w wielu grach.
- W Wine plik winevulkan.dll jest używany zamiast vulkan-1.dll, jeśli jest dostępny.
- Ulepszenia kompatybilności z grami, które zależą od pewnych szczegółów pakietu AgilitySDK.
- Poprawiona kompatybilność systemu kompilacji z różnymi wersjami widl
- VKD3D_CONFIG=dxr włącza teraz również DXR 1.1, a dxr11 jest zapisywany dla zgodności.
- Naprawiono minimalną wartość luminancji metadanych HDR.
- Dodano VKD3D_LIMIT_TESS_FACTORS, aby naprawić nadmierną mozaikę. Włączone dla Wo Long.
- Naprawiono błąd RADV, który powodował nadmiar pamięci w pamięci podręcznej shaderów. Możesz zaoszczędzić kilkaset MB pamięci, co jest ważne w niektórych tytułach wymagających pamięci, aby uniknąć niestabilności.
- Naprawiono błąd firmy NVIDIA związany z równoczesnymi zgłoszeniami do kolejki przy użyciu semaforów osi czasu
- Naprawiono kilka niewyjaśnionych błędów Xid 109 CTX_SWITCH_TIMEOUT w wielu różnych grach.
W końcu Jeśli chcesz dowiedzieć się więcej o tej nowej wersji, możesz sprawdzić szczegóły W poniższym linku.A jeśli chcesz wypróbuj Proton na Steamie już teraz, wiesz już, że możesz zainstalować klienta Steam z Oficjalna strona internetowa, chociaż znajdziesz go również w repozytoriach większości dystrybucji.