D9VK 0.40 väljalase, Direct3D 9 juurutamine Vulkani peal

võttis aset projekti väljalase D9VK 0.40, mis pakub Direct3D 9 rakendust, mis töötab graafika API-le kõnede tõlkimise teel Vulkan. Projekt põhineb projekti koodibaasil DXVK, mida on laiendatud Direct3D 9 toetamiseks. Võrreldes WineD3D-põhise Direct9D 3 juurutusega saavutab D9VK parema jõudluse, kuna Direct3D 9 tõlge OpenGL-i kaudu on aeglasem kui Vulkani kaudu tõlkimine.

D9VK-d saab kasutada 3D-rakenduste ja mängude käitamiseks Linuxis, kasutades Wine'i. Toetatakse enamikku Direct3D 9-l põhinevaid mänge, mis kasutavad Shaderi mudeli versioone 2 või 3. Projekti kood jaotatud tasuta Zlibi litsentsi alusel. D9VK nõuab draivereid, mis toetavad Vulkani API-d, nagu AMD RADV 18.3+, NVIDIA 415.22+, Intel ANV 19.0+ ja AMDVLK.

Peamised täiustused:

  • Rakendatud on võimalus kasutada 4-bitistes rakendustes rohkem kui 32 GB videomälu, mis lahendas probleemid mängude Skyrim ja Oblivion modifikatsioonide käivitamisel;
  • Renderdustulemuse ekraanil kuvamise asünkroonne töötlemine on lubatud (esitlusetapp). Peamise renderduslõime latentsuse vähendamiseks teostatakse väljundi töötlemine käsu esitamise lõimes;
  • Taotletud andmete toomisel eemaldati mittevajalikud käsuvoo sünkroonimispunktid;
  • Siseaja määramise kood on tõlgitud kasutama platvormispetsiifilist taimerit, mis aitas lahendada MinGW kõrge_resolutsiooni_kella ebaõige käitumisega seotud probleeme;
  • Edasilükatud puhvrite MANAGED ja SYSTEMMEM mahalaadimine on tagatud etapis enne PrepareDraw täitmist, mis lahendas jõudlusprobleemid mängudes Risen ja Legend of the Heroes: Trails of the Sky;
  • Lisatud tugi D3DTA_CONSTANT, mis võimaldas rakendada õiget renderdamist sära efekt SpinTyresi ja Mudrunneri mängudes;
  • Täiustatud ühilduvus DirectX 9Ex (D3D9Ex). Arvesse võetakse ResetEx ja Reset töötlemise eripära;
  • Puhastatud ja taastatud kood;
  • Pakutakse WRITEONLY puhvrite otsest kaardistamist, mis võib jõudlusele positiivselt mõjuda ja mängu veast mööda minna
    Counter-Strike: globaalne solvav, mille tulemuseks on puhvrisse kirjutamine pärast selle avamist;

  • Rakendatud meetod SetDialogBoxMode, mis võimaldab kasutada dialoogibokse täisekraanirakendustes;
  • Tugi rakendatud tippude segamineKaasa arvatud indekseeritud tippude segamine, vajalik SWVP (SoftWare Vertex Processing) jaoks;
  • Praeguse pildi peal kuvatav näidisloendur (heads-up display, HUD) on ümber kujundatud;
  • Lisatud valik d3d9.dialogBoxMode, millega saab keelata töö ainult täisekraanirežiimis;
  • Optimeeris jõudlust ja lahendas probleeme, mis tekkisid GTA mängude käivitamisel: San Andreas, The Masquerade Bloodlines, Max Payne 2, The Sims 2, Silent Hunter 3, Senran Kagura Shinovi, Dungeons and Dragons, Crysis, Metal Slug X, ANGLE, Need for Kiirus: Carbon ja Risen 1.

Lisaks võib märkida kavatsus projekti arendaja DXVK (DXGI, Direct3D 10 ja Direct3D 11 juurutamine Vulkan API peal) keskendub ajutiselt ainult veaparandustele, aeglustades funktsioonide laienemist. Sarnane soov põhjustatud mure koodibaasi kvaliteedi languse ja raskema hoolduse pärast tulevikus. Iga 1.4.x haru värskendus põhjustab kaebusi regressiivsete muudatuste kohta, mida ei saa reprodutseerida, lokaliseerida ega parandada.

Need probleemid nõuavad nende esinemise põhjuste analüüsi, vastasel juhul võib nende parandamata jätmine, jätkates funktsionaalsuse suurendamist, olukorda ainult süvendada ja muuta hooldusprotsessi õudusunenäoks. Plaanid, mida DXVK arendaja kavatseb enne ainult veaparandusrežiimile üleminekut ellu viia, hõlmavad mõne kasuliku Vulkani laienduse toe lisamist ja ühendamist D9VK projekti arendustega.

Täiendus: kuumad kandadel moodustatud korrigeeriv väljalase D9VK 0.40.1, milles fikseeritud määras tipuvarjutajates vec4(1) COLOR0 vaikeväärtuseks ja parandas vea, kus varjutaja vaikeväljundi pesa bitte rakendati valesti ja seetõttu parandas neid taustaprogramm valesti, mistõttu need asendati vektoriga vec4(0).

Allikas: opennet.ru

Lisa kommentaar