
Makukuha na ngayon ang D7VK 2.1 bilang isang bagong bersyon ng open-source graphics translation layer na ito na nagpapahintulot sa mga mas lumang laro sa Windows na nakabatay sa Direct3D 7, 6, 5, at 3 na tumakbo sa Vulkan. Kasunod ng mga makabuluhang pagpapabuti sa pagganap na ipinakilala sa mga nakaraang bersyon , ang update na ito ay nakatuon sa malaking bahagi ng trabaho nito sa isa pang aspeto: pagbabawas ng oras ng paglo-load at pagsisimula ng laro . Sa ilang mga pamagat, binabawasan ng mga pagpapabuti ang oras na kinakailangan upang mag-load ng isang laro o ilunsad ang laro nang kalahati.
Ang D7VK ay partikular na nakatuon sa mga klasikong laro na gumagamit ng mga naunang bersyon ng Direct3D at maaari pa ring patakbuhin sa Linux gamit ang Wine o Proton. Ginagamit ng proyekto ang Vulkan bilang backend para sa mga mas lumang API na ito, pinupunan ang kakulangan na hindi direktang natutugunan ng mga modernong bersyon ng DXVK, na nakatuon sa Direct3D 8, 9, 10, at 11, o VKD3D-Proton, na idinisenyo para sa Direct3D 12.
Pinapabilis ng D7VK 2.1 ang oras ng paglo-load para sa mga klasikong laro
Ang pangunahing bagong tampok sa D7VK 2.1 ay may kaugnayan sa paglikha at pagsira ng object . Binawasan ng proyekto ang overhead na nauugnay sa pagsubaybay sa lifecycle ng mga object na ito, kaya nababawasan ang trabahong kinakailangan sa panahon ng paglo-load ng laro at mga yugto ng pagsisimula.
Ang pagbabago ay may direktang epekto sa mga oras ng pagsisimula. Ayon sa developer, maraming mga laro ang nakakaranas ng mga kapansin-pansing pagpapabuti, kung saan ang ilan ay nakakita ng pagbawas ng kanilang mga oras ng paglo-load nang kalahati o higit pa kumpara sa mga nakaraang bersyon ng D7VK. Bagama't ang mga klasikong laro ay karaniwang walang makabuluhang isyu sa oras ng paglo-load sa modernong hardware, naniniwala ang proyekto na ang mga pag-optimize na ito ay nagbibigay-daan para sa mas mahusay na paggamit ng mga magagamit na mapagkukunan.
May mga ginawa ring pagpapabuti sa caching system. Ang kombinasyon ng mas mababang gastos sa pamamahala ng object lifecycle at mas mahusay na pag-uugali ng cache ay nakakabawas sa trabahong dapat gawin ng D7VK sa panahon ng pagsisimula ng aplikasyon at ilang kasunod na operasyon.
Mayroon ding mahahalagang pag-aayos sa compatibility
Hindi lang ino-optimize ng D7VK 2.1 ang oras ng paglo-load. Inaayos din ng update ang isyu ng use-after-free na may kaugnayan sa paglabas ng mga kaugnay na depth stencil surface . Lumitaw lang ang bug sa ilang binary na na-compile gamit ang MSVC o Clang at maaaring magdulot ng biglaang pag-crash ng ilang laro habang nagsisimula.
Isa sa mga apektadong laro ay ang Arx Fatalis , na maaaring mag-crash sa paglulunsad. Ang pag-aayos na kasama sa D7VK 2.1 ay nilulutas ang isyung ito at nagbibigay-daan sa laro na tumakbo nang hindi nakakaranas ng partikular na bug na iyon.
Kasama rin sa update ang mga pagsasaayos para sa mga partikular na laro. Kabilang dito ang mga pagpapabuti sa pagganap para sa Resident Evil 2 at Empire Earth: The Art of Conquest , dalawang klasikong laro na maaaring makinabang sa ginawang pag-unlad sa bersyong ito.
Isang bagong opsyonal na ruta para sa GetDC at ReleaseDC
Isa pang kabaguhan ng D7VK 2.1 Ito ay isang opsyonal na landas ng pagpapatupad para sa mga tawag GetDC y ReleaseDCAng layunin ay upang mapabuti ang pagganap ng ilang partikular na laro na masinsinang gumagamit ng mga tampok na ito.
Opsyonal ang implementasyon dahil ang mga resulta nito ay lubos na nakadepende sa kilos ng bawat laro. Sa ilang mga kaso, maaari itong magbigay ng pagpapabuti sa pagganap, habang sa iba ay maaari itong magdulot ng eksaktong kabaligtaran na epekto at pataasin ang gastos ng ilang mga operasyon.
Ang developer mismo ay nakapansin ng pagtaas ng humigit-kumulang 5-10% sa FPS habang naglalaro sa Arx Fatalis gamit ang rutang ito. Gayunpaman, ang parehong pagbabago ay nagdudulot ng kapansin-pansing pagbaba ng performance kapag nire-render ang pangunahing menu ng laro. Samakatuwid, hindi ito isang pangkalahatang optimization na dapat paganahin nang walang pinipili, kundi isang opsyon na maaaring maging kapaki-pakinabang sa ilang partikular na laro.
Isang kawili-wiling pagpapabuti para sa paglalaro ng mga klasikong laro ng Windows sa Linux
Ang pangunahing benepisyo ng D7VK 2.1 ay nasa katalogo ng laro nito, na maaaring mukhang maliit kumpara sa mga modernong laro, ngunit nananatiling mahalaga para sa mga gumagamit ng Linux bilang plataporma para sa mga klasikong laro. Pinapayagan ng layer na isalin ang mga lumang Direct3D API 3, 5, 6, at 7 patungo sa Vulkan, na ginagawang posible na patakbuhin ang mga larong ito gamit ang Wine o Proton.
Ito ay lalong kapaki-pakinabang para sa mga larong binuo bago pa man naging pamantayan ang mga modernong graphics API. Sa halip na umasa lamang sa mga tradisyonal na implementasyon ng Direct3D na makukuha sa pamamagitan ng Wine, ang D7VK ay nagbibigay ng isang diskarte na nakabatay sa Vulkan na maaaring mag-alok ng mas mahusay na compatibility at performance sa kasalukuyang graphics hardware at driver.
Magagamit na ngayon ang D7VK 2.1
Maaari nang i-download ang D7VK 2.1 mula sa repositoryo ng proyekto. Ang bagong bersyong ito ay hindi gaanong nakatuon sa makabuluhang pagtaas ng FPS kumpara sa mga nakaraang update at mas nakatuon sa pagpino ng panloob na paggana ng translation layer.
Ang pagbabawas ng overhead habang lumilikha ng object, pagpapabuti ng caching, at pag-optimize ng boot process ay maaaring makabuluhang bawasan ang load times sa ilang partikular na laro. Bukod pa rito ang pag-aayos ng pag-crash ng Arx Fatalis, paggawa ng mga pagsasaayos sa iba pang mga laro, at pagdaragdag ng bagong opsyonal na path para sa GetDC/ReleaseDC.
Dahil dito, patuloy na pinapabuti ng D7VK 2.1 ang isang partikular na aspeto ng paglalaro sa Linux: ang pagpapatupad ng mga klasikong laro na umaasa sa mga mas lumang graphics API ng Microsoft. Ipinapakita ng update na mayroon pa ring puwang upang pinuhin ang mga karanasang ito, kahit na ang mga laro ay ilang dekada na ang tanda at tumatakbo sa modernong hardware.