PC/GryPoradniki

Jak poprawić kompatybilność starych gier na Windows 11 ?

Direct3D od długiego czasu stanowi nieodłączny element gier wydawanych na system Windows, ułatwiając pisanie gier pod ten system.

Microsoft stworzył DirectX jako “zintegrowane rozwiązanie” które pomaga programistom korzystać z możliwości sprzętu każdego komputera. Zamiast tworzyć oddzielny kod dla każdego podzespołu, programiści mogą skorzystać z  gotowych bibliotek DirectX, takich jak DirectDraw (grafika 2D), Direct3D (akceleracja sprzętowa 3D) i DirectSound (dźwięk). Sprawia to, że gry bez problemu można uruchomić na różnych konfiguracjach sprzętowych, gdyż rozwiązanie Microsoftu “tłumaczy” ich kod gry na “język natywny” każdego podzespołu.

Niestety te rozwiązanie nie jest w 100% idealne. Microsoft oraz twórcy kart graficznych  wspierających okazjonalnie wycofują wsparcie dla funkcji wprowadzonych w poprzednich wersjach Direct3D, które nie zdobyły popularności, bądź są już po prostu przestarzałe i zostały zastąpione lepszymi rozwiązaniami.

W wyniku tego niektóre starsze gry mogą nie działać poprawnie na nowoczesnych kartach graficznych z najnowszymi wersjami Direct3D. Dlatego też warto rozważyć skorzystanie z DXVK w celu poprawy kompatybilności gier napisanych na starsze wersje DirectX, tłumacząc je na Vulkan API.

Czym jest Vulkan API ?

Vulkan API to zaawansowany interfejs programowania aplikacji (API) grafiki 3D, opracowany przez Khronos Group. Jego celem jest zapewnienie wydajności i elastyczności w programowaniu grafiki 3D na różnych platformach, takich jak komputery osobiste, konsole i urządzenia mobilne.

Vulkan został stworzony jako następca OpenGL, mający na celu spełnienie potrzeb bardziej wydajnego i kontrolowanego API w porównaniu z wcześniejszymi rozwiązaniami. Ten interfejs umożliwia programistom bezpośrednią kontrolę nad procesem renderowania grafiki, umożliwiając optymalizację i dostosowanie do specyfikacji danego sprzętu.

Główne cechy Vulkan API

  • Vulkan został zaprojektowany tak, aby minimalizować nakład sterownika, co przekłada się na wyższą wydajność aplikacji graficznych.
  • Wsparcie dla wielowątkowości: Vulkan jest zoptymalizowany pod kątem pracy na wielu wątkach, co umożliwia wydajniejsze i równoległe przetwarzanie grafiki.
  • Równoległe przetwarzanie: Vulkan pozwala na równoczesne przetwarzanie wielu operacji graficznych, co przyspiesza proces renderowania.
  • Niska poziomowość: Vulkan jest niskopoziomowym API, co daje programistom większą kontrolę nad sprzętem i operacjami graficznymi.
  • Wieloplatformowość: Vulkan jest zaprojektowany w taki sposób, aby działać na różnych platformach, w tym na Windows, Linux, Android i innych.
  • Efektywność i wydajność: Dzięki swoim cechom i możliwościom, Vulkan oferuje efektywność i wydajność, szczególnie dla zaawansowanych aplikacji graficznych i gier.
  • Obsługa najnowszych technologii: Vulkan został stworzony z myślą o nowoczesnych rozwiązaniach i jest zgodny z najnowszymi technologiami graficznymi.
  • Kontrola nad sprzętem: Dzięki Vulkanowi programiści mają większą kontrolę nad sprzętem, co pozwala na lepszą optymalizację i dostosowanie aplikacji do różnych urządzeń.

Aby poprawić gry napisane pod starsze wersje Direct3D skorzystamy właśnie z Vulkan’a oraz DXVK.

Czym jest DXVK ?

DXVK działa jako tzw. “wrapper”  i tłumaczy wywołania API DirectX na odpowiednie wywołania API dla bibliotek Vulkan. DXVK pierwotnie został stworzony dla systemu Linux przy wsparciu ze strony Valve, które także używa go w systemie SteamOS oraz w urządzeniu Steam Deck.

Zatem pisząc “po ludzku” DXVK to taki pośrednik pomiędzy osobą głosującą na PiS a osobą bardziej przekonaną do PO. Bez niego po prostu te dwie osoby nigdy by się nie dogadały 😉

Ponieważ Vulkan dorównuje wydajnością Direct3D 12, a oba są znacznie lepsze (i szybsze) niż starsze wersje Direct3D ,  zatem “tłumaczenie” starych gier Direct3D na Vulkan może czasami poprawić wydajność gry. 

Jak użyć DXVK w systemie Windows ?

Użycie DXVK na Windowsie jest bardzo łatwe, wystarczy go pobrać, wypakować do odpowiedniego folderu gry i jest gotowe do działania.

Jednak musimy wiedzieć, czy nasza gra posiada 32 czy 64 bitowy plik wykonywalny. W tym celu najlepiej odwiedzić stronę PCGmingWiki i tam poszukać odpowiednich informacji.

Dla przykładu będziemy “tuningować” grę Max Payne z 2001 roku. 

Na PCGamingWiki dowiedziałem się, że Max ma 32-bitowego *exe:

Bez nazwy 1

I w 90% przypadków większość starych gier będzie również 32 bitowa.

Przechodzimy na główną stronę projektu i pobieramy najnowszą dostępną wersję DXVK.

Teraz wystarczy wypakować odpowiednią wersję (32/x64) DXVK do folderu gry i… właściwie tyle.  Od teraz gra będzie obsługiwać Vulkan’a zamiast starego DirectX’a.

Dziękuję za uwagę.

Zostaw tutaj coś po sobie !

Kliknij na ikonkę aby ocenić ten wpis. W ten sposób motywujesz nas do dalszej pracy. Pozostawienie po sobie komentarza to też dobry pomysł 😉

Średnia ocena 4.8 / 5. Liczba głosów: 5

Jeszcze nikt nie ocenił ;-(

Możesz również mnie wspomóc w rozwijaniu mojej pasji i tego bloga.

Postaw mi kawę na buycoffee.to

Wpisy, które mogą Ciebie zainteresować:

Blue Screen of Death na życzenie !

Kabson

Zmieniamy wygląd Windows 10 aby przypominał Windows 7

Kabson

Aktywujemy klasyczną przeglądarkę zdjęć w systemie Windows 10

Kabson

Masowa konwersja RAR oraz 7Zip do zip

Kabson

Jak sprawdzić maksymalną ilość obsługiwanej pamięci RAM przez płytę główną

Kabson

W jaki sposób dostać się do plików na dysku gdy system nie startuje

Kabson

Zostaw komentarz


Obserwuj nasz blog !
Podaj swój adres email, by być informowanym na bieżąco o nowych artykułach pojawiających się na naszej witrynie.