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

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster