
D7VK 2.1 je sada dostupan kao nova verzija ovog sloja za prevođenje grafike otvorenog koda koji omogućava starijim Windows igrama zasnovanim na Direct3D 7, 6, 5 i 3 da rade na Vulkanu. Nakon značajnih poboljšanja performansi uvedenih u prethodnim verzijama , ovo ažuriranje fokusira veći dio svog rada na drugi aspekt: smanjenje vremena učitavanja i pokretanja igre . U nekim naslovima, poboljšanja su prepolovila vrijeme potrebno za učitavanje ili pokretanje igre.
D7VK je posebno usmjeren na klasične igre koje koriste rane verzije Direct3D-a i još uvijek se mogu pokretati na Linuxu pomoću Wine-a ili Protona. Projekat koristi Vulkan kao backend za ove starije API-je, popunjavajući prazninu koju nisu direktno riješile moderne verzije DXVK-a, koje se fokusiraju na Direct3D 8, 9, 10 i 11, ili VKD3D-Proton, dizajniran za Direct3D 12.
D7VK 2.1 ubrzava vrijeme učitavanja klasičnih igara
Glavna nova funkcija u D7VK 2.1 odnosi se na kreiranje i uništavanje objekata . Projekat je smanjio opterećenje povezano s praćenjem životnog ciklusa ovih objekata, čime se smanjuje rad potreban tokom faza učitavanja i inicijalizacije igre.
Promjena ima direktan utjecaj na vrijeme pokretanja. Prema riječima programera, nekoliko naslova doživljava primjetna poboljšanja, a kod nekih je vrijeme učitavanja smanjeno za pola ili čak i više u odnosu na prethodne verzije D7VK. Iako klasične igre obično nemaju značajne probleme s vremenom učitavanja na modernom hardveru, projekat vjeruje da ove optimizacije omogućavaju bolje korištenje dostupnih resursa.
Poboljšanja su također napravljena u sistemu keširanja. Kombinacija nižih troškova upravljanja životnim ciklusom objekata i efikasnijeg ponašanja keša smanjuje posao koji D7VK mora obaviti tokom pokretanja aplikacije i određenih naknadnih operacija.
Također postoje važne ispravke kompatibilnosti
D7VK 2.1 ne optimizuje samo vreme učitavanja. Ažuriranje takođe ispravlja problem korišćenja nakon oslobađanja igre koji se odnosi na objavljivanje povezanih površina matrica dubine . Greška se pojavljivala samo kod određenih binarnih datoteka kompajliranih pomoću MSVC ili Clang i mogla je uzrokovati neočekivano rušenje nekih igara tokom pokretanja.
Jedan od pogođenih naslova bio je Arx Fatalis , koji je mogao uzrokovati pad sistema prilikom pokretanja. Ispravka uključena u D7VK 2.1 rješava ovaj problem i omogućava igri da radi bez nailaženja na tu specifičnu grešku.
Ažuriranje također uključuje prilagodbe za određene igre. To uključuje poboljšanja performansi za Resident Evil 2 i Empire Earth: The Art of Conquest , dva klasična naslova koja mogu imati koristi od rada obavljenog u ovoj verziji.
Nova opcionalna ruta za GetDC i ReleaseDC
Još jedna novost od D7VK 2.1 To je opcionalni put izvršavanja za pozive GetDC y ReleaseDCCilj je poboljšati performanse određenih igara koje intenzivno koriste ove funkcije.
Implementacija je opcionalna jer njeni rezultati uveliko zavise od ponašanja svake igre. U nekim slučajevima može pružiti poboljšanje performansi, dok u drugima može proizvesti potpuno suprotan efekat i povećati troškove određenih operacija.
Sam programer je primijetio povećanje FPS-a od otprilike 5-10% tokom igranja u Arx Fatalisu korištenjem ove rute. Međutim, ista promjena uzrokuje primjetan pad performansi prilikom renderiranja glavnog menija igre. Stoga, ovo nije univerzalna optimizacija koja bi trebala biti omogućena bez razlike, već opcija koja može biti korisna u određenim naslovima.
Zanimljivo poboljšanje za igranje Windows klasika na Linuxu
Glavna prednost D7VK 2.1 leži u njegovom katalogu igara, koji se može činiti malim u poređenju sa modernim naslovima, ali ostaje relevantan za one koji koriste Linux kao platformu za klasične igre. Sloj omogućava prevođenje starijih Direct3D API-ja 3, 5, 6 i 7 u Vulkan, što omogućava pokretanje ovih igara pomoću Wine-a ili Protona.
Ovo je posebno korisno za naslove koji su razvijeni mnogo prije nego što su moderni grafički API-ji postali standard. Umjesto oslanjanja isključivo na tradicionalne Direct3D implementacije dostupne putem Wine-a, D7VK pruža pristup zasnovan na Vulkanu koji može ponuditi bolju kompatibilnost i performanse na trenutnom grafičkom hardveru i drajverima.
D7VK 2.1 je sada dostupan
D7VK 2.1 je sada dostupan za preuzimanje iz repozitorija projekta. Ova nova verzija se manje fokusira na značajna povećanja FPS-a u odnosu na prethodna ažuriranja, a više na poboljšanje internog rada sloja za prevođenje.
Smanjenje opterećenja tokom kreiranja objekata, poboljšanje keširanja i optimizacija procesa pokretanja mogu značajno smanjiti vrijeme učitavanja u određenim igrama. Ovo je pored ispravljanja pada Arx Fatalisa, prilagođavanja drugih naslova i dodavanja nove opcionalne putanje za GetDC/ReleaseDC.
Ovim, D7VK 2.1 nastavlja poboljšavati vrlo specifičan aspekt igranja na Linuxu: izvršavanje klasičnih naslova koji se oslanjaju na starije Microsoftove grafičke API-je. Ažuriranje pokazuje da još uvijek postoji prostor za poboljšanje ovih iskustava, čak i kada su igre stare decenijama i rade na modernom hardveru.