Útgáfa af D9VK 0.40, Direct3D 9 útfærslu ofan á Vulkan

fór fram verkefnisútgáfu D9VK 0.40, sem veitir Direct3D 9 útfærslu sem virkar með því að þýða símtöl yfir í grafík API Vulkan. Verkefnið er byggt á kóðagrunni verkefnisins DXVK, sem hefur verið framlengt til að styðja Direct3D 9. Í samanburði við WineD3D byggða Direct9D 3 útfærslu, nær D9VK betri frammistöðu vegna þess að Direct3D 9 þýðing í gegnum OpenGL er hægari en þýðing í gegnum Vulkan.

D9VK er hægt að nota til að keyra 3D forrit og leiki á Linux með Wine. Flestir leikir byggðir á Direct3D 9 með útgáfu 2 eða 3 af Shader Model eru studdir. Verkefnakóði dreift af undir ókeypis Zlib leyfinu. D9VK krefst rekla sem styðja Vulkan API, eins og AMD RADV 18.3+, NVIDIA 415.22+, Intel ANV 19.0+ og AMDVLK.

Helstu endurbætur:

  • Möguleikinn á að nota meira en 4 GB af myndminni í 32-bita forritum hefur verið innleiddur, sem leysti vandamál við að setja upp mods fyrir leikina Skyrim og Oblivion;
  • Ósamstilltur vinnsla á birtingu flutningsniðurstöðunnar á skjánum er virkjuð (kynningarstig). Til að draga úr leynd á aðal flutningsþræðinum er úttaksvinnsla framkvæmd í skipanasendingarþræðinum;
  • Fjarlægði óþarfa samstillingarpunkta skipanaflæðis þegar umbeðin gögn voru sótt;
  • Kóðinn til að ákvarða innri tíma hefur verið þýddur til að nota vettvangssértækan tímamæli, sem hjálpaði til við að leysa vandamál með ranga hegðun high_resolution_clock frá MinGW;
  • Afhleðsla frestað biðminni MANAGED og SYSTEMMEM er tryggð á stigi fyrir framkvæmd PrepareDraw, sem leysti frammistöðuvandamál í leikjunum Risen og Legend of the Heroes: Trails of the Sky;
  • Bætt við stuðningi D3DTA_CONSTANT, sem gerði það mögulegt að innleiða rétta flutning ljómaáhrif í SpinTyres og Mudrunner leikjum;
  • Bætt samhæfni við DirectX 9Ex (D3D9Ex). Tekið er tillit til sérstakra vinnslu ResetEx og Reset;
  • Hreinsaður og endurgerður kóða;
  • Bein kortlagning á WRITEONLY biðmunum er veitt, sem getur haft jákvæð áhrif á frammistöðu og farið framhjá villu í leiknum
    Counter-Strike: Global Offensive, sem leiðir til áframhaldandi skrifa í biðminni eftir að hann er opnaður;

  • Aðferð útfærð Setja DialogBoxMode, sem gerir þér kleift að nota svarglugga í forritum á öllum skjánum;
  • Stuðningur innleiddur blanda hornpunktaÁsamt verðtryggð hornpunktsblöndun, krafist fyrir SWVP (SoftWare Vertex Processing);
  • Sýnatakateljarinn, sem birtist ofan á núverandi mynd (heads-up display, HUD), hefur verið endurhannaður;
  • Bætt við valmöguleika d3d9.dialogBoxMode, sem hægt er að nota til að slökkva á því að vinna aðeins á fullum skjá;
  • Gerði hagræðingu á frammistöðu og leysti vandamál sem komu upp þegar GTA leiki voru settir á markað: 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 Hraði: Carbon and Risen 1.

Auk þess má geta þess ásetningur verktaki DXVK (innleiðing á DXGI, Direct3D 10 og Direct3D 11 ofan á Vulkan API) mun tímabundið einbeita viðleitni eingöngu að villuleiðréttingum, sem hægir á stækkun virkni. Svipuð löngun orsakað af áhyggjur af lækkun á gæðum kóðagrunns og erfiðara viðhaldi í framtíðinni. Hver uppfærsla á 1.4.x útibúinu veldur kvörtunum um afturhaldsbreytingar sem ekki er hægt að endurskapa, staðfæra og laga.

Þessi vandamál krefjast greiningar á ástæðum þess að þau koma upp, annars getur það aðeins aukið ástandið og breytt viðhaldsferlinu í martröð að skilja þau eftir óleiðrétt og halda áfram að auka virkni. Áætlanirnar sem DXVK verktaki ætlar að innleiða áður en hann skiptir yfir í villuleiðréttingarham eru meðal annars að bæta við stuðningi við nokkrar gagnlegar Vulkan viðbætur og sameinast þróun D9VK verkefnisins.

Viðbót: heitt á hælunum myndast leiðréttingarútgáfa D9VK 0.40.1, þar sem fastur stilltu vec4(1) á sjálfgefið gildi fyrir COLOR0 í vertex shaders, og lagaði villu þar sem sjálfgefna shader output rauf bitunum var rangt beitt og því rangt leiðrétt af bakendanum, sem olli því að þeim var skipt út fyrir vec4(0).

Heimild: opennet.ru

Bæta við athugasemd