Creat inițial pentru Linux, DXVK vă poate ajuta, de asemenea, să „reparați” jocurile vechi pe Windows și să le creșteți performanța. Iată de ce și cum.
Direct3D a făcut parte din jocurile Windows de zeci de ani, unificând peisajul hardware segmentat al PC-ului sub o singură umbrelă 3D. Cu toate acestea, o aplicație creată în principal pentru Linux, DXVK, este uneori o opțiune mult mai bună de utilizat, chiar dacă sunteți pe Windows.
Doriți o compatibilitate mai bună și, mai important, performanță pentru aplicațiile și jocurile dvs.? Apoi trebuie să încercați DXVK.
Problema cu DirectX pe Windows
Microsoft a creat DirectX ca o „soluție unificată” care i-a ajutat pe programatori să folosească capabilitățile hardware ale oricărui PC. În loc să scrie cod diferit pentru fiecare parte hardware, dezvoltatorii de software ar putea „ținti” bibliotecile DirectDraw (grafică 2D), Direct3D (3D accelerat de hardware) și DirectSound (audio). Apoi, lăsați soluția Microsoft să-și „traducă” codul în „limba nativă” a fiecărei părți hardware.
DirectX a devenit o tehnologie de bază de neînlocuit în Windows și a evoluat de atunci. Cu toate acestea, există o mică problemă cu Direct3D: nu este 100% compatibil cu versiunea inversă.
Microsoft și creatorii de GPU care acceptă API-ul Direct3D (ca în „Nvidia, AMD și Intel”) au ocazional, a renunțat la suportul pentru funcțiile introduse în versiunile anterioare ale Direct3D, dar care nu au câștigat niciodată tracţiune. Astfel, unele jocuri mai vechi ar putea să nu ruleze corect pe un GPU modern cu cele mai noi versiuni de Direct3D.
Ce este Vulkan?
Se presupune că un răspuns mai „deschis” la Direct3D cu sursă închisă de la Microsoft, OpenGL a fost o versiune mutantă a bibliotecilor de grafică 3D utilizate în stațiile de lucru grafice ale Silicon Graphics.
OpenGL, totuși, a rămas întotdeauna în urmă, din punct de vedere al caracteristicilor, în comparație cu Direct3D de la Microsoft. În cele din urmă, mi s-a părut mai rațional să repornești efortul. De aceea a fost creat Vulkan, cunoscut și sub numele de „OpenGL Next”, oferind performanțe mai bune și control sporit asupra hardware-ului.
La fel ca OpenGL și spre deosebire de Direct3D Microsoft legat de Windows, Vulkan este „deschis” și multiplatformă. Puteți utiliza Vulkan pe Windows, Linux și chiar pe smartphone-uri. Deși nu este acceptat nativ pe Mac-uri, este utilizabil acolo prin MoltenVK.
Asta a fost versiunea scurtă. Pentru a afla mai multe despre Vulkan, consultați articolul nostru pe ce biblioteci Vulkan runtime sunt în Windows.
Ce este DXVK?
DXVK este un wrapper, „traducând” Direct3D în Vulkan. În lumea umană, un traducător poate fi un mediator între un vorbitor de engleză și un vorbitor de japoneză, permițându-le să se înțeleagă unul pe celălalt. În mod similar, „wrapper-urile” sau „straturile de traducere” pot „prelua” codul scris pentru o anumită piesă hardware, platformă sau API și îl pot traduce pentru a rula pe altul.
DXVK a fost dezvoltat inițial pentru Linux cu suport de la Valve, care îl folosește și pe SteamOS și Steam Deck. Puteți afla mai multe despre asta în articolul nostru unde am văzut ce este Steam Proton și cum rulează jocuri Windows pe Steam Deck.
De ce ar trebui să utilizați DXVK pe Windows?
Dacă un joc rulează deja bine pe hardware-ul tău, nu există niciun motiv să folosești DXVK. Dar unele jocuri scrise pentru versiuni mai vechi de DirectX nu rulează „corect” (dacă deloc) pe versiuni mai noi de DirectX și hardware modern.
Prin „traducerea” codului Direct3D vechi și cu erori în API-ul Vulkan mai modern, există o taxă minimă asupra performanței (dacă există). În același timp, jocurile problematice cu grafică ruptă sau caracteristici lipsă pot deveni din nou complet jucabile.
Deoarece Vulkan este la egalitate cu Direct3D 12 și ambele sunt mult mai bune (și mai rapide) decât versiunile mai vechi de Direct3D (după cum am văzut când am comparat DirectX 11 VS DirectX 12), „traducerea” vechilor jocuri Direct3D în Vulkan poate îmbunătăți uneori performanța jocului.
Lucrarea Intel la GPU-urile lor Arc este o dovadă în acest sens. Intel ar putea încerca să adauge suport pentru fiecare titlu mai vechi în driverele Arc GPU. În schimb, Intel a decis să lucreze la îmbunătățirea în continuare a DXVK. Rezultatele inițiale ale „experimentului” Intel duc la o creștere de două ori a performanței pentru titlurile mai vechi, cu zeci de redate redate „prin” DXVK.
Cum se utilizează DXVK pe Windows
Utilizarea DXVK pe Windows este ușoară, deoarece nu există nimic de modificat sau configurat. Trebuie doar să îl descărcați, să îl extrageți în folderul corect al jocului și este gata de funcționare.
Cu toate acestea, trebuie să utilizați versiunea DXVK corectă care se potrivește cu versiunea Direct3D folosită de jocul dvs.
Probabil că este mai ușor dacă parcurgem împreună întregul proces pentru a vedea cum puteți descărca cea mai recentă versiune de DXVK, identificați „tehnologia” jocului și instalați DLL-urile corecte în folderul corespunzător.
Cum să descărcați DXVK
DXVK este un software open-source și este gratuit. Puteți găsi cea mai recentă versiune pe GitHub.
- Vizitați DXVK pagina oficială GitHub și faceți clic pe Cele mai recente versiune link-ul din dreapta paginii, sub Lansări.
- Derulați în jos pe pagina versiuni și găsiți Active secțiunea celei mai recente versiuni. Faceți clic pe cea mai recentă arhivă DXVK tar.gz pentru a o descărca. La momentul scrierii, era versiunea 2.2.
- Stocați arhiva descărcată undeva, pentru că va trebui să extrageți conținutul acesteia în folderul fiecărui joc pe care doriți să-l rulați cu DXVK în loc de Direct3D.
Cum să alegeți versiunea DXVK corectă
Dacă trebuie să știți ce versiune de Direct3D folosește jocul dvs., site-ul web PC Gaming Wiki vă poate ajuta.
- Vizita Wiki pentru jocuri pe PC cu browserul dvs. și utilizați câmpul de căutare din dreapta sus pentru a căuta jocul la care doriți să adăugați DXVK.
- Când găsiți jocul dvs., vizitați pagina acestuia și derulați în jos pentru a ajunge la Alte informații secțiune. Îndreptați-vă atenția către tabelele API. Acolo, pe Specificatii tehnice și Sprijinit coloane, veți vedea versiunea de Direct3D pe care o folosește jocul dvs. Dedesubt, Executabil, pe 32 de biți, și pe 64 de biți coloanele vă vor „spune” ce arhitectură ar trebui să alegeți.
Cum să adăugați DXVK la jocurile dvs
Acum că știți ce versiune Direct3D și arhitectura CPU folosește jocul dvs., puteți adăuga versiunea corectă a DXVK în folderul său.
- Deschideți arhiva DXVK cu managerul dvs. de arhive preferat (pentru acest articol, folosim WinRAR) și introduceți singurul folder DXVK pe care îl veți vedea acolo.
- În interior, veți găsi două subfoldere, câte unul pentru fiecare arhitectură de computer. Introduceți cel corect pentru jocul dvs. Chiar dacă sistemul dvs. de operare este pe 64 de biți, ca majoritatea versiunilor de Windows de astăzi, dacă jocul este pe 32 de biți, ar trebui să alegeți folderul pe 32 de biți.
- Selectează DXGI.DLL plus DLL-ul corect pentru versiunea de Direct3D jocul tău folosește. După cum veți vedea, mai există trei DLL-uri, câte unul pentru fiecare dintre versiunile anterioare de Direct3D: 9, 10 și 11.
- Găsiți folderul local în care este instalat jocul și localizați subfolderul cu executabilul său ("fișierul din care rulează jocul"). Extrageți DLL-urile de la pasul anterior în acest folder.
Cum să testați și să evaluați jocul îmbunătățit
Dacă rulați jocul acum, ar trebui să folosească Vulkan în loc de Direct3D și, sperăm, să aibă rezultate mai bune.
Chiar dacă nu observați schimbări dramatice în ratele de cadre, uneori îmbunătățirile pot fi „simțite” în alte moduri. De exemplu, am încercat DXVK cu clasicul Batman: Arkham City pe un PC echipat cu un Ryzen 5900x, 64 GB RAM și un GPU Nvidia RTX 3070. Hardware-ul nostru a depășit deja specificațiile de top ale acestui joc vechi, obținând rate de cadre foarte mari. Chiar dacă ar crește cu Vulkan, diferența nu ar fi ușor perceptibilă.
Cu toate acestea, acțiunea jocului s-a simțit mai lină. Tranzițiile între ecrane, nivelurile de încărcare și apăsarea Alt + Tab au fost aproape instantanee cu DXVK.
Când nu ar trebui să utilizați DXVK
DXVK are multe beneficii și poate aduce performanța jocurilor mai vechi în epoca modernă. În ciuda acestui fapt, nu este un glonț de argint pentru o performanță îmbunătățită și, uneori, pur și simplu nu merită să-l folosești.
1. DXVK nu îmbunătățește performanța jocului
Dacă ați adăugat DLL-urile DXVK în joc, dar nu ați observat nicio diferență după aceea, le puteți elimina din nou dacă doriți. Puteți șterge fișierele DLL pe care le-ați adăugat în folderul unui joc pentru a face asta.
2. DXVK provoacă performanțe mai slabe sau introduce noi erori
Uneori, adăugarea DXVK la un joc poate avea efectul opus. Din păcate, nu există nicio modalitate ca un utilizator final să remedieze astfel de probleme.
A apărut rezervorul de performanță al unui joc sau erori vizuale după adăugarea DXVK? Ieșiți din joc și ștergeți DLL-urile DXVK din directorul său.
3. Vrei să-ți joci jocul online
DXVK este un strat de compatibilitate și afectează doar rezultatul grafic al unui joc. Cu toate acestea, unele companii sunt împotriva oricărei modificări ale jocurilor lor pentru a asigura un mediu echitabil pentru toată lumea.
Este posibil ca DXVK să nu „trișeze”, dar este totuși o „modificare a jocului” și ar putea fi semnalat ca atare.
4. Jocul are deja suport Vulkan încorporat
Dacă un joc folosește deja API-ul Vulkan, cum ar fi Doom Eternal, nu există niciun motiv pentru a-și seta ieșirea la Direct3D pentru a-l traduce apoi în Vulkan.
5. Jocul folosește Direct3D 12
Deoarece Direct3D 12 este aproape pe deplin la egalitate cu Vulkan, nu există nimic de câștigat prin traducerea unui API grafic ultramodern în altul.
Îmbunătățiți-vă vechile jocuri cu 3D „tradus” pe Windows
Ceea ce a început ca o modalitate de a juca mai multe jocuri legate de Windows pe Linux, a ajuns să devină o soluție utilă de compatibilitate și un spor de performanță. Deci, păstrați la îndemână o arhivă recentă a DLL-urilor DXVK. Adăugați-le în orice joc în care doriți să eliminați erorile, să-i îmbunătățiți performanța, să obțineți o acțiune mai fluidă în joc și să îmbunătățiți capacitatea de răspuns.
Chiar dacă nu ajunge să ajute, încercarea lui va dura doar câteva secunde și, de cele mai multe ori, s-ar putea să fii surprins de rezultate.