Väljalase D9VK 0.40, Direct3D 9 rakendamine Vulkanil

On toimunud projekti väljalaskmine D9VK 0.40, mis annab rakenduse Direct3D 9, mis töötab läbi kõnede tõlkimise graafika API-sse Vulkan. Projekt põhineb koodibaasil, millel on DXVK, mis on laiendatud toetama Direct3D 9. Erinevalt Direct3D 9 rakendustest, mis põhinevad WineD3D-l, võimaldab D9VK saavutada kõrgemat jõudlust, kuna Direct3D 9 tõlkimine OpenGL-i kaudu on aeglasem kui Vulkan-i kaudu.

D9VK saab kasutada 3D-rakenduste ja mängude käivitamiseks Linuxis koos Wine-iga. Toetatakse suurema osa Direct3D 9-põhiste mängude, mis kasutavad 2. või 3. Shader Model versiooni, käivitamist. Projekti kood GNU Üldine Avaliku litsentsi alusel. on avatud Zlib litsentsi all. D9VK kasutamiseks on vajalik, et oleksid olemas Vulkan API toetavad draiverid, nagu AMD RADV 18.3+, NVIDIA 415.22+, Intel ANV 19.0+ ja AMDVLK.

Peamised parandused:

  • On rakendatud üle 4 GB videomälu kasutamise võimalus 32-bitistes rakendustes, mis lahendas probleemid mängude Skyrim ja Oblivion modifikatsioonide käivitamisel;
  • Ainult asünkroonne renderdamise tulemuse edastamine ekraanile (presentation). Viivituste vähendamiseks peamise renderdamise lõimes toimub edastamise töötlemine käskude esitamise lõimes;
  • Eemaldatud liigsed sünkroniseerimise punktid käskude lõimes, kui küsitakse andmeid;
  • Kood sisemise aja määramiseks on tõlgitud platvormile spetsiifilise ajamõõturi kasutamisele, mis aitas lahendada probleeme high_resolution_clock'iga MinGW-st;
  • Tagatud on ootel olevate MANAGED ja SYSTEMMEM vahemike tühjendamine enne PrepareDraw'i etappi, mis lahendas Risen ja Legend of the Heroes: Trails of the Sky mängudes esinevad jõudlusprobleemid;
  • Lisatud tugi D3DTA_CONSTANT, mis võimaldas korrektset renderdamist helenduse efekti mängudes SpinTyres ja Mudrunner;
  • Parandatud ühilduvus DirectX 9Ex (D3D9Ex). Arvesse on võetud ResetEx ja Reset töötlemise eripära;
  • Teostatud koodi puhastamine ja refactoring;
  • Tagatud on otsemapping WRITEONLY vahemikele, mis võib positiivselt mõjutada jõudlust ja ületada vea mängus
    Counter-Strike: Global Offensive, mis põhjustab vahemiku jätkuva kirjutamise pärast selle lukutamise lõpetamist;
  • Rakendatud on meetod SetDialogBoxMode, mis võimaldab kasutada dialooge täisekraanirakendustes;
  • Toetuse rakendamine tipu segamine, sealhulgas indekseeritav tipusegamine, vajalik SWVP (SoftWare Vertex Processing) jaoks;
  • Korrigeeritud on näidatud proovide arvesti, mis kuvatakse praeguse pildi kohal (heads-up display, HUD);
  • Lisatud on valik d3d9.dialogBoxMode, mida saab kasutada ainult täisekraani režiimi keelamiseks;
  • Tehtud on jõudlusoptimeerimised ja lahendatud probleemid, mis ilmnesid mängude käivitamisel GTA: 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 Speed: Carbon ja Risen 1.

Lisaks saab märkida äärmuslikule projekti arendaja DXVK (DXGI, Direct3D 10 ja Direct3D 11 rakendamine Vulkan API peal) on otsustanud, et keskendub ainult vigade parandamisele, katkestades funktsionaalsuse laiendamise. Selline soov on põhjustatud on seotud hirmudega koodibaasi kvaliteedi languse ja hoolduse keerukuse osas tulevikus. Iga 1.4.x haru värskendus toob kaebusi regressiivsete muutuste kohta, mida ei õnnestu paljastada, lokaliseerida ja kõrvaldada.

Need probleemid nõuavad põhjuste analüüsimist, vastasel juhul võivad need jääda parandamata ning jätkuv funktsionaalsuse arendamine võib olukorda vaid halvendada ja hooldussüsteemi košmaarsena muuta. Plaanidest, mida DXVK arendaja plaanib ellu viia enne vigade korrigeerimise režiimi, on mõned kasulikud Vulkan laienduste toed ja D9VK projekti arengutega liitumine.

Lisainfo: kuumad jäljed koostatud korrektsiooniversioon D9VK 0.40.1, milles on parandatud väärtust vec4(1) DEFAULT COLOR0 jaoks vertex shaderites ja kõrvaldati viga, mis põhjustas shaderi väljundslotide bitide vale rakendamise ja seega vale parandamise backend'i poolt, muutes need vec4(0) jaoks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster