Lëshimi i D9VK 0.40, implementimi i Direct3D 9 mbi Vulkan

U zhvillua lëshimin e projektit D9VK 0.40, duke ofron zbatimin e Direct3D 9, që funksionon përmes përkthimit të thirrjeve në API grafik Vulkan. Projekti bazohet në kodin burimor të projektit DXVK, i cili është zgjeruar me mbështetje për Direct3D 9. Krahasuar me zbatimin e Direct3D 9 mbi WineD3D, D9VK ofron performancë më të lartë, pasi përkthimi i Direct3D 9 përmes OpenGL funksionon më ngadalë se ai përmes Vulkan.

D9VK mund të përdoret për të nisur aplikacione dhe lojëra 3D në Linux duke përdorur Wine. Mbështetet nisja e shumicës së lojërave të bazuara në Direct3D 9, që përdorin versionin 2 ose 3 të Shader Model. Kodi i projektit shpërndahet nën licencën e lirë Zlib. Për të përdorur D9VK kërkohet të keni shoferë me mbështetje për API Vulkan, si AMD RADV 18.3+, NVIDIA 415.22+, Intel ANV 19.0+ dhe AMDVLK.

Përmirësimet kryesore:

  • Implementohet mundĂ«sia e pĂ«rdorimit tĂ« mbi 4 GB memorie video nĂ« aplikacione 32-bit, duke zgjidhur problemet gjatĂ« nisjes sĂ« modifikimeve nĂ« lojĂ«rat Skyrim dhe Oblivion;
  • PĂ«rfshihet pĂ«rpunimi asinkron i rezultatit tĂ« renderimit nĂ« ekran (faza e paraqitjes). PĂ«r tĂ« zvogĂ«lur vonesat nĂ« rrjedhĂ«n kryesore tĂ« renderimit, pĂ«rpunimi i daljes realizohet nĂ« rrjedhĂ«n e dorĂ«zimit tĂ« komandave (command submission thread);
  • JanĂ« eliminuar piketat e tepĂ«rta tĂ« sinkronizimit nĂ« rrjedhĂ«n e komandave gjatĂ« nxjerrjes sĂ« tĂ« dhĂ«nave tĂ« kĂ«rkuara;
  • Kodi pĂ«r pĂ«rcaktimin e kohĂ«s sĂ« brendshme Ă«shtĂ« kthyer pĂ«r pĂ«rdorimin e njĂ« timeri specifik pĂ«r platformĂ«n, i cili ndihmoi nĂ« zgjidhjen e problemeve me sjelljen e pasaktĂ« tĂ« high_resolution_clock nga MinGW;
  • Garantuar shkarkimi i bufeve tĂ« vonuara MANAGED dhe SYSTEMMEM nĂ« fazĂ«n pĂ«rpara ekzekutimit tĂ« PrepareDraw, duke zgjidhur problemet me performancĂ«n nĂ« lojĂ«rat Risen dhe Legend of the Heroes: Trails of the Sky;
  • Shtuar mbĂ«shtetje D3DTA_CONSTANT, qĂ« mundĂ«soi implementimin e renderimit tĂ« saktĂ« tĂ« efektit tĂ« ndriçimit nĂ« lojĂ«rat SpinTyres dhe Mudrunner;
  • PĂ«rmirĂ«suar pĂ«rputhshmĂ«ria me DirectX 9Ex (D3D9Ex). U mor nĂ« konsideratĂ« specifika e pĂ«rpunimit ResetEx dhe Reset;
  • KĂ«rkuar pastrimi dhe ristrukturimi i kodit;
  • Garantuar mapimin direkt tĂ« bufeve WRITEONLY, qĂ« mund tĂ« ndikojĂ« pozitivisht nĂ« performancĂ« dhe tĂ« kalojĂ« gabimin nĂ« lojĂ«n
    Counter-Strike: Global Offensive, që çon në vazhdimin e regjistrimit në buffered pas çlirimit të tij;
  • Implementohet metoda SetDialogBoxMode, duke mundĂ«suar pĂ«rdorimin e kutive tĂ« dialogut nĂ« aplikacione me ekran tĂ« plotĂ«;
  • Implementuar mbĂ«shtetje pĂ«r pĂ«rzierjen e kulmĂ«ve, pĂ«rfshirĂ« pĂ«rzierjen e kulmĂ«ve qĂ« mund tĂ« indeksohen, e nevojshme pĂ«r SWVP (SoftWare Vertex Processing);
  • RindĂ«rtohet numĂ«ruesi i mostrave, i shfaqur sipĂ«r imazhit aktual (heads-up display, HUD);
  • Shto Ă«shtĂ« shtuar opsioni d3d9.dialogBoxMode, i cili mund tĂ« pĂ«rdoret pĂ«r tĂ« çaktivizuar funksionimin vetĂ«m nĂ« modalitetin nĂ« ekran tĂ« plotĂ«;
  • JanĂ« bĂ«rĂ« optimizime tĂ« performancĂ«s dhe janĂ« zgjidhur probleme qĂ« shfaqen gjatĂ« lançimit tĂ« lojĂ«rave 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 dhe Risen 1.

Gjithashtu mund tĂ« theksohet nĂ« mendje zhvilluesi i projektit DXVK (implementimi i DXGI, Direct3D 10 dhe Direct3D 11 mbi API Vulkan) pĂ«r tĂ« pĂ«rqendruar pĂ«rkohĂ«sisht pĂ«rpjekjet vetĂ«m nĂ« riparimin e gabimeve, duke ngadalĂ«suar zgjerimin e funksionalitetit. NjĂ« dĂ«shirĂ« e tillĂ« Ă«shtĂ« shkaktuar nga shqetĂ«simet pĂ«r uljen e cilĂ«sisĂ« sĂ« kodit dhe komplikuar mbĂ«shtetje nĂ« tĂ« ardhmen. Çdo pĂ«rditĂ«sim i degĂ«s 1.4.x shkakton ankesa pĂ«r ndryshimet regresive qĂ« nuk mund tĂ« riprodhohen, lokalizohen dhe zgjidhen.

Këto probleme kërkojnë një analizë të shkakut të shfaqjes së tyre, nd otherwise lënia e tyre pa u riparuar gjatë vazhdimit të zgjerimit të funksionalitetit mund vetëm të përkeqësojë situatën dhe ta shndërrojë procesin e mbështetjes në një makth. Nga planet që zhvilluesi i DXVK ka për të realizuar para kalimit në modin vetëm për riparim gabimesh, përmendet shtimi i mbështetjes për disa zgjerime të dobishme të Vulkan dhe bashkimi me punimet e projektit D9VK.

Shtesë: në gjurmët e ngjarjeve u formua lëshimi korrigjues D9VK 0.40.1, në të cilin u rregullua në vec4(1) vlera parazgjedhje për COLOR0 në shenjat e vertex dhe u eliminua gabimi, për shkak të të cilit bitët e slotëve për daljet e shenjës parazgjedhje u aplikuan gabimisht dhe, si pasojë, u rregulluan gabimisht nga backend-i, duke shkaktuar zëvendësimin e tyre me vec4(0).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster