A D7VK 2.1 néhány klasszikus játék betöltési idejét a felére csökkenti

  • A D7VK 2.1 csökkenti az objektumlétrehozási terhelést és javítja a gyorsítótárat, egyes játékokban a betöltési időt a felére csökkentve.
  • A frissítés kijavít egy „felszabadítás utáni használat” hibát, amely miatt az Arx Fatalis indítás közben bezáródhatott.
  • Emellett egy opcionális útvonalat is hozzáad a GetDC/ReleaseDC-hez, valamint specifikus teljesítménybeli fejlesztéseket olyan játékokhoz, mint a Resident Evil 2 és az Empire Earth: The Art of Conquest.

D7VK 2.1

A D7VK 2.1 mostantól elérhető ennek a nyílt forráskódú grafikus fordítórétegnek az új verziójaként, amely lehetővé teszi a Direct3D 7, 6, 5 és 3 alapú régebbi Windows játékok Vulkanon való futtatását. A korábbi verziókban bevezetett jelentős teljesítményjavításokat követően ez a frissítés egy másik szempontra összpontosít: a játékok betöltési és indítási idejének csökkentésére . Egyes címekben a fejlesztések a játék betöltéséhez vagy elindításához szükséges időt a felére csökkentik.

A D7VK kifejezetten a klasszikus játékokhoz készült, amelyek a Direct3D korai verzióit használják, és továbbra is futtathatók Linuxon Wine vagy Proton segítségével. A projekt a Vulkant használja backendként ezekhez a régebbi API-khoz, betöltve ezzel azt az űrt, amelyet a DXVK modern verziói, amelyek a Direct3D 8, 9, 10 és 11-re, illetve a Direct3D 12-höz tervezett VKD3D-Protonra összpontosítanak, nem oldottak meg közvetlenül.

A D7VK 2.1 felgyorsítja a klasszikus játékok betöltési idejét

A D7VK 2.1 fő új funkciója az objektumok létrehozásával és megsemmisítésével kapcsolatos . A projekt csökkentette az objektumok életciklusának nyomon követésével járó többletterhelést, így a játék betöltése és inicializálása során szükséges munkát is.

A változás közvetlen hatással van az indítási időkre. A fejlesztő szerint számos címnél érezhető javulás tapasztalható, egyesek betöltési ideje a D7VK korábbi verzióihoz képest a felére vagy akár még jobban is csökkent . Bár a klasszikus játékoknál jellemzően nincsenek jelentős betöltési idő problémák a modern hardvereken, a projekt úgy véli, hogy ezek az optimalizálások lehetővé teszik a rendelkezésre álló erőforrások jobb kihasználását.

A gyorsítótárazási rendszert is továbbfejlesztették. Az alacsonyabb objektuméletciklus-kezelési költségek és a hatékonyabb gyorsítótár-viselkedés kombinációja csökkenti a D7VK által az alkalmazásindítás és bizonyos azt követő műveletek során elvégzendő munkát.

Fontos kompatibilitási javítások is vannak

A D7VK 2.1 nemcsak a betöltési időket optimalizálja. A frissítés egy felszabadítás utáni használat hibát is kijavít, amely a mélységi stencilfelületek kiadásával kapcsolatos . A hiba csak bizonyos, MSVC vagy Clang segítségével fordított bináris fájloknál jelentkezett, és egyes játékok váratlan összeomlását okozhatta indításkor.

Az egyik érintett játék az Arx Fatalis volt , amely indításkor összeomolhatott. A D7VK 2.1-es verziójában található javítás megoldja ezt a problémát, és lehetővé teszi, hogy a játék a hiba felbukkanása nélkül fusson.

A frissítés bizonyos játékokhoz kapcsolódó módosításokat is tartalmaz. Ilyenek például a Resident Evil 2 és az Empire Earth: The Art of Conquest teljesítménybeli javításai , két klasszikus cím esetében, amelyek profitálhatnak az ebben a verzióban elvégzett munkából.

Új, opcionális útvonal a GetDC és a ReleaseDC számára

További újdonsága D7VK 2.1 Ez egy opcionális végrehajtási útvonal a hívásokhoz GetDC y ReleaseDCA cél bizonyos játékok teljesítményének javítása, amelyek intenzíven használják ezeket a funkciókat.

A megvalósítás opcionális, mivel az eredmények nagymértékben függenek az egyes játékok viselkedésétől. Bizonyos esetekben teljesítménynövekedést biztosíthat, míg másokban pont az ellenkező hatást válthatja ki, és bizonyos műveletek költségeit növelheti.

Maga a fejlesztő körülbelül 5-10%-os FPS- növekedést figyelt meg az Arx Fatalis játékmenete során ezen az útvonalon. Ugyanez a változás azonban észrevehető teljesítménycsökkenést okoz a játék főmenüjének renderelésekor. Ezért ez nem egy univerzális optimalizálás, amelyet válogatás nélkül kellene engedélyezni, hanem inkább egy olyan lehetőség, amely bizonyos játékokban hasznos lehet.

Érdekes fejlesztés a Windows klasszikusok Linuxon történő lejátszásához

A D7VK 2.1 fő előnye a játékkatalógusában rejlik, amely a modern címekhez képest kicsinek tűnhet, de továbbra is releváns azok számára, akik Linuxot használnak platformként a klasszikus játékokhoz. A réteg lehetővé teszi a régebbi Direct3D API-k (3, 5, 6 és 7) Vulkanra fordítását, lehetővé téve ezen játékok futtatását Wine vagy Proton segítségével.

Ez különösen hasznos azoknál a játékoknál, amelyeket jóval a modern grafikus API-k szabványossá válása előtt fejlesztettek ki. Ahelyett, hogy kizárólag a Wine-on keresztül elérhető hagyományos Direct3D implementációkra hagyatkozna, a D7VK egy Vulkan-alapú megközelítést kínál, amely jobb kompatibilitást és teljesítményt nyújt a jelenlegi grafikus hardvereken és illesztőprogramokon.

A D7VK 2.1 már elérhető

A D7VK 2.1 mostantól letölthető a projekt repository-ból. Ez az új verzió kevésbé a jelentős FPS-növelésekre összpontosít, mint a korábbi frissítések, és inkább a fordítási réteg belső működésének finomítására.

Az objektumok létrehozása során felmerülő többletterhelés csökkentése, a gyorsítótár javítása és a rendszerindítási folyamat optimalizálása jelentősen csökkentheti a betöltési időket bizonyos játékokban. Ez az Arx Fatalis összeomlásának javításán, más játékokon végzett módosításokon és egy új opcionális elérési út hozzáadásán felül történt. GetDC/ReleaseDC.

Ezzel a D7VK 2.1 továbbfejleszti a Linuxon játszható játékok egy nagyon specifikus aspektusát: a Microsoft régebbi grafikus API-jaira támaszkodó klasszikus címek futtatását. A frissítés azt mutatja, hogy még mindig van lehetőség finomítani ezeket az élményeket, még akkor is, ha a játékok évtizedek óta futnak modern hardveren.


Hozzáadás előnyben részesített forrásként a Google-ben