Pierwotnie stworzony dla Linuksa, DXVK może również pomóc „naprawić” stare gry w systemie Windows i zwiększyć ich wydajność. Oto dlaczego i jak.
Direct3D jest częścią gier Windows od dziesięcioleci, jednocząc podzielony na segmenty sprzęt PC pod jednym parasolem obsługującym 3D. Jednak aplikacja stworzona głównie dla systemu Linux, DXVK, jest czasami znacznie lepszą opcją do użycia, nawet jeśli korzystasz z systemu Windows.
Czy potrzebujesz lepszej kompatybilności i, co ważniejsze, wydajności dla swoich aplikacji i gier? Następnie musisz wypróbować DXVK.
Problem z DirectX w systemie Windows
Microsoft stworzył DirectX jako „ujednolicone rozwiązanie”, które pomogło programistom wykorzystać możliwości sprzętowe dowolnego komputera. Zamiast pisać inny kod dla każdej części sprzętowej, twórcy oprogramowania mogliby „celować” w biblioteki DirectDraw (grafika 2D), Direct3D (akceleracja sprzętowa 3D) i DirectSound (audio). Następnie pozwól rozwiązaniu Microsoftu „przetłumaczyć” ich kod na „język ojczysty” każdej części sprzętowej.
DirectX stał się niezastąpioną podstawową technologią w systemie Windows i od tego czasu ewoluuje. Jest jednak mały haczyk z Direct3D: nie jest w 100% wstecznie kompatybilny.
Firma Microsoft i twórcy procesorów graficznych obsługujących interfejs API Direct3D (np. „Nvidia, AMD i Intel”) mają od czasu do czasu porzucał obsługę funkcji wprowadzonych w poprzednich wersjach Direct3D, ale które nigdy nie zyskały trakcja. W związku z tym niektóre starsze gry mogą nie działać poprawnie na nowoczesnym GPU z najnowszymi wersjami Direct3D.
Co to jest Vulkan?
Podobno bardziej „otwarta” odpowiedź na Microsoft Direct3D o zamkniętym kodzie źródłowym, OpenGL był zmutowaną wersją bibliotek grafiki 3D używanych w graficznych stacjach roboczych Silicon Graphics.
Jednak OpenGL zawsze pozostawał w tyle pod względem funkcji w porównaniu z Direct3D firmy Microsoft. W końcu bardziej racjonalne wydawało się ponowne uruchomienie. Dlatego powstał Vulkan, znany również jako „OpenGL Next”, oferujący lepszą wydajność i zwiększoną kontrolę nad sprzętem.
Podobnie jak OpenGL iw przeciwieństwie do Direct3D firmy Microsoft związanego z systemem Windows, Vulkan jest „otwarty” i wieloplatformowy. Możesz używać Vulkan w systemach Windows, Linux, a nawet na smartfonach. Chociaż nie jest natywnie obsługiwany na komputerach Mac, można go tam używać za pośrednictwem MoltenVK.
To była wersja skrócona. Aby dowiedzieć się więcej o Vulkan, sprawdź nasz artykuł na temat czym są biblioteki wykonawcze Vulkan w systemie Windows.
Co to jest DXVK?
DXVK to opakowanie, „tłumaczące” Direct3D na Vulkan. W ludzkim świecie tłumacz może być mediatorem między anglojęzycznym i japońskim, umożliwiając im wzajemne zrozumienie. Podobnie „opakowania” lub „warstwy tłumaczeń” mogą „wziąć” kod napisany dla określonego sprzętu, platformy lub interfejsu API i przetłumaczyć go, aby działał na innym.
DXVK został pierwotnie opracowany dla systemu Linux przy wsparciu firmy Valve, która używa go również w systemie SteamOS i Steam Deck. Możesz dowiedzieć się więcej na ten temat w naszym artykule, gdzie widzieliśmy co to jest Steam Proton i jak uruchamia gry Windows na Steam Deck.
Dlaczego warto używać DXVK w systemie Windows?
Jeśli gra już działa dobrze na twoim sprzęcie, nie ma powodu, aby używać DXVK. Jednak niektóre gry napisane dla starszych wersji DirectX nie działają „poprawnie” (jeśli w ogóle) na nowszych wersjach DirectX i nowoczesnym sprzęcie.
„Tłumaczenie” starego i zawierającego błędy kodu Direct3D na bardziej nowoczesny interfejs API Vulkan powoduje minimalny wpływ na wydajność (jeśli w ogóle). Jednocześnie problematyczne gry z zepsutą grafiką lub brakującymi funkcjami mogą znów stać się w pełni grywalne.
Ponieważ Vulkan jest na równi z Direct3D 12, a oba są znacznie lepsze (i szybsze) niż starsze wersje Direct3D (co widzieliśmy, gdy porównaliśmy DirectX 11 z DirectX 12), „tłumaczenie” starych gier Direct3D na Vulkan może czasami poprawić wydajność gry.
Dowodem na to są prace Intela nad ich procesorami graficznymi Arc. Intel mógłby spróbować dodać obsługę każdego starszego tytułu w sterownikach GPU Arc. Zamiast tego Intel zdecydował się pracować nad dalszym ulepszaniem DXVK. Wstępne wyniki „eksperymentu” Intela doprowadziły do dwukrotnego wzrostu wydajności starszych tytułów, z dziesiątkami odtwarzanych „przez” DXVK.
Jak korzystać z DXVK w systemie Windows
Korzystanie z DXVK w systemie Windows jest łatwe, ponieważ nie trzeba nic poprawiać ani konfigurować. Wystarczy go pobrać, rozpakować do odpowiedniego folderu gry i gotowe.
Musisz jednak użyć poprawnej wersji DXVK, która odpowiada wersji Direct3D używanej przez twoją grę.
Prawdopodobnie będzie łatwiej, jeśli wspólnie przejdziemy przez cały proces, aby zobaczyć, jak możesz pobrać najnowszą wersję DXVK, zidentyfikować „technologię” gry i zainstalować odpowiednie biblioteki DLL w odpowiednim folderze.
Jak pobrać DXVK
DXVK jest oprogramowaniem typu open source i jest bezpłatne. Jego najnowszą wersję można znaleźć na GitHub.
- Odwiedź DXVK oficjalna strona GitHub i kliknij na Najnowszy link do wersji po prawej stronie, pod Wydania.
- Przewiń w dół stronę wydań i znajdź plik Aktywa sekcja najnowszej wersji. Kliknij najnowsze archiwum DXVK tar.gz, aby je pobrać. W chwili pisania tego tekstu była to wersja 2.2.
- Zapisz gdzieś pobrane archiwum, ponieważ będziesz musiał rozpakować jego zawartość do folderu każdej gry, którą chcesz uruchomić z DXVK zamiast Direct3D.
Jak wybrać właściwą wersję DXVK
Jeśli chcesz wiedzieć, z której wersji Direct3D korzysta Twoja gra, możesz skorzystać z witryny PC Gaming Wiki.
- Odwiedzać Wiki o grach komputerowych za pomocą przeglądarki i użyj pola wyszukiwania w prawym górnym rogu, aby wyszukać grę, do której chcesz dodać DXVK.
- Gdy znajdziesz swoją grę, odwiedź jej stronę i przewiń w dół, aby przejść do Inne informacje Sekcja. Zwróć uwagę na tabele API. Tam, na Specyfikacja techniczna I Utrzymany kolumnach, zobaczysz wersję Direct3D używaną przez twoją grę. Poniżej tzw wykonywalny, 32-bitowy, I 64-bitowy kolumny „powiedzą” ci, którą architekturę powinieneś wybrać.
Jak dodać DXVK do swoich gier
Teraz, gdy wiesz, z której wersji Direct3D i architektury procesora korzysta Twoja gra, możesz dodać poprawną wersję DXVK do jej folderu.
- Otwórz archiwum DXVK za pomocą swojego ulubionego menedżera archiwów (w tym artykule używamy WinRAR) i wejdź do pojedynczego folderu DXVK, który tam zobaczysz.
- Wewnątrz znajdziesz dwa podfoldery, po jednym dla każdej architektury komputera. Wpisz właściwy dla swojej gry. Nawet jeśli twój system operacyjny jest 64-bitowy, jak większość dzisiejszych wersji systemu Windows, jeśli twoja gra jest 32-bitowa, powinieneś wybrać folder 32-bitowy.
- Wybierz DXGI.DLL plus poprawna biblioteka DLL dla wersji Direct3D Twoja gra używa. Jak zobaczysz, są jeszcze trzy biblioteki DLL, po jednej dla każdej z poprzednich wersji Direct3D: 9, 10 i 11.
- Znajdź lokalny folder, w którym jest zainstalowana gra, a następnie zlokalizuj podfolder z jej plikiem wykonywalnym („plik, z którego uruchamiana jest gra”). Wyodrębnij biblioteki DLL z poprzedniego kroku do tego folderu.
Jak przetestować i porównać swoją ulepszoną grę
Jeśli uruchomisz teraz swoją grę, powinna używać Vulkan zamiast Direct3D i miejmy nadzieję, że będzie działać lepiej.
Nawet jeśli nie widzisz żadnych dramatycznych zmian w liczbie klatek na sekundę, czasami ulepszenia można „odczuć” w inny sposób. Na przykład wypróbowaliśmy DXVK z klasycznym Batman: Arkham City na komputerze PC wyposażonym w Ryzen 5900x, 64 GB pamięci RAM i kartę graficzną Nvidia RTX 3070. Nasz sprzęt już przekraczał najlepsze specyfikacje tej starej gry, osiągając bardzo wysoką liczbę klatek na sekundę. Nawet gdyby osiągnęli wyższy poziom dzięki Vulkanowi, różnica nie byłaby łatwo zauważalna.
Jednak akcja gry wydawała się płynniejsza. Przejścia między ekranami, poziomy ładowania i naciskanie Alt + Tab były niemal natychmiastowe dzięki DXVK.
Kiedy nie powinieneś używać DXVK
DXVK ma wiele zalet i może przenieść wydajność starszych gier do czasów współczesnych. Mimo to nie jest to złoty środek poprawiający wydajność, a czasami po prostu nie warto go używać.
1. DXVK nie poprawia wydajności gry
Jeśli dodałeś pliki DLL DXVK do swojej gry, ale później nie zauważyłeś żadnej różnicy, możesz je usunąć ponownie, jeśli chcesz. W tym celu możesz usunąć pliki DLL dodane do folderu gry.
2. DXVK powoduje gorszą wydajność lub wprowadza nowe usterki
Czasami dodanie DXVK do gry może mieć odwrotny skutek. Niestety, użytkownik końcowy nie ma możliwości rozwiązania takich problemów.
Czy po dodaniu DXVK pojawiły się problemy z wydajnością gry lub usterki wizualne? Wyjdź z gry i usuń pliki DLL DXVK z jej katalogu.
3. Chcesz grać w swoją grę online
DXVK jest warstwą kompatybilności i wpływa tylko na wyjście graficzne gry. Mimo to niektóre firmy sprzeciwiają się jakimkolwiek modyfikacjom swoich gier, aby zapewnić wszystkim sprawiedliwe środowisko.
DXVK może nie jest „oszukiwaniem”, ale nadal jest „modyfikacją gry” i może zostać oznaczony jako taki.
4. Gra ma już wbudowaną obsługę Vulkan
Jeśli gra korzysta już z interfejsu API Vulkan, jak na przykład Doom Eternal, nie ma powodu, aby ustawiać wyjście na Direct3D, aby następnie przetłumaczyć je na Vulkan.
5. Gra korzysta z Direct3D 12
Ponieważ Direct3D 12 jest prawie w pełni na równi z Vulkanem, nie ma nic do zyskania, tłumacząc jeden ultranowoczesny graficzny interfejs API na inny.
Ulepsz swoje stare gry dzięki „przetłumaczonemu” 3D w systemie Windows
To, co zaczęło się jako sposób na granie w więcej gier związanych z systemem Windows w systemie Linux, stało się użytecznym rozwiązaniem zapewniającym kompatybilność i zwiększającym wydajność. Miej więc pod ręką ostatnie archiwum bibliotek DLL DXVK. Dodaj je do dowolnej gry, w której chcesz wyeliminować usterki, poprawić jej wydajność, uzyskać płynniejszą akcję w grze i poprawić jej responsywność.
Nawet jeśli to nie pomoże, wypróbowanie zajmie tylko kilka sekund, a często możesz być zaskoczony wynikami.