Empire Earth: The Art of Conquest ievadaina uz Linux tagad ielādējas apmēram sekundē. Iepriekšējā versijā tās bija trīs līdz četras sekundes. Starpību deva 14. augustā izlaistais D7VK 2.1, kurā izstrādātājs izmeta lieko objektu dzīves cikla uzskaiti un pārstāja katrā izsaukumā kopēt ierīces iespēju struktūras.
D7VK ir tulkošanas slānis, kas Direct3D 7, 6, 5 un 3 spēles palaiž uz Vulkan. Tas nestrādā kā patstāvīgs renderētājs: slānis novietojas starp Wine ddraw implementāciju un DXVK D3D9 aizmuguri, pārtulkojot vecos izsaukumus uz D3D9. Augšupējā DXVK komanda uztur tikai D3D8 un jaunākas versijas, tāpēc D7VK paliek atsevišķs projekts ar vienu uzturētāju, segvārdā WinterSnowfall.
Vajadzība pēc tā rodas no dzelzs puses. 1998. līdz 2001. gada spēles paļaujas uz DirectDraw uzvedības smalkumiem, ko mūsdienu draiveri vairs neapstrādā pareizi, tāpēc tās uz jaunām kartēm vai nu neieslēdzas, vai zīmē bojātu attēlu. Slānis šos izsaukumus pārtver, pirms tie sasniedz draiveri.
no divkārša kadru pieauguma līdz ielādes laikam
Iepriekšējais lielais laidiens iznāca 18. jūlijā. D7VK 2.0 tika pārbūvēts uz DXVK 3.0.2 bāzes, saņēma ar roku rakstītas SSE rutīnas virsotņu apstrādei un no karstajiem kodola ceļiem izmestu atkļūdošanas žurnalēšanu. Rezultāts uz procesora ierobežotiem nosaukumiem, piemēram, Half-Life un Unreal Tournament, bija divkāršs kadru skaits.
Pēc tā izstrādātājs konstatēja, ka lielākā daļa atsevišķo 3DMark testu tagad balstās grafikas procesorā. Kad procesora pusē vairs nav ko izspiest, atlikušais laiks, ko lietotājs pavada gaidot, ir ielāde.
Veiktspējas uzlabojumu laikmets ir beidzies. Ir pienācis ielādes optimizāciju laiks.
Laidiena piezīmēs uzskaitītas četras izmaiņas, kas dod šo efektu:
- apgriezta objektu dzīves cikla uzskaite, kas samazina izveidošanas un iznīcināšanas izmaksas visās atbalstītajās saskarnēs;
- ierīces iespēju kešošana un uzskaitīšana, kas novērš atkārtotu vienu un to pašu struktūru kopēšanu;
- vēl viens žurnalēšanas izmaksu samazinājums, kam etalonos praktiski nav ietekmes;
- virsmu augšupielādes un lejupielādes ceļš tagad izlaiž pārsūtīšanu, ja dati nav mainījušies.
Ieguvumu manāmāk redz spēlēs, kas ielādes laikā izveido daudz atsevišķu virsmu. Papildus Empire Earth laidiena piezīmēs minēti Resident Evil 2, Project I.G.I., Sonic World DX, Blade of Darkness, Knight Rider un Silent Hunter II. GamingOnLinux apraksta, ka atsevišķos nosaukumos ielādes laiks nokrities uz pusi vai vairāk.
Starp abiem laidieniem pagājušas nepilnas četras nedēļas. Vecu grafikas saskarņu tulkošanas slānim tas ir ātrs temps, jo katrs labojums prasa attiecīgo spēli iegādāties, uzstādīt un izsekot renderēšanas izsaukumus tajā.
37 vati sasniedz to, kam agrāk vajadzēja 200
Izstrādātājs publicējis salīdzinājumu, kas parāda, cik daudz šie slāņi maksā. D7VK 2.1 uz Lunar Lake klēpjdatora ar Core Ultra 7 256V un 37 vatu jaudas ietvaru 3DMark ’99 un 3DMark 2000 testos savāc aptuveni tos pašus punktus, ko D7VK 1.12 savāca uz RTX 4070 ar 200 vatiem.
Cipars jālasa uzmanīgi. Abi 3DMark laidieni ir no 1998. un 1999. gada. Mūsdienu grafikas procesoram to slodze ir niecīga, tāpēc rezultātu pārsvarā nosaka tas, cik ātri draiveru kaudze tiek galā ar izsaukumu apstrādi. Tieši tur D7VK pēdējos laidienos strādājis. Reālās spēles ar 30 kadru ierobežojumu no šī uzlabojuma neko nejūt, taču starta un līmeņu ielādes laikos to redz uzreiz.
labojumi konkrētām spēlēm
Lielākā daļa 2.1 kļūdu labojumu radušies no atsevišķu spēļu pārbaudes. Arx Fatalis avarēja startā izmantošanas pēc atbrīvošanas kļūdas dēļ pievienotās dziļuma trafareta virsmas atbrīvošanā. Resident Evil 2 fonos parādījās artefakti, kurus novērsa pikseļa centra novietojuma maiņa, kas atdarina Windows 9x draiveru uzvedību. Blade of Darkness un Knight Rider sakārtoti dievu staru efekti.
Divi labojumi attiecas uz šaurākiem gadījumiem. Pievienots R3G3B2 astoņu bitu krāsu virsmu atbalsts, pēc noklusējuma izslēgts. ARM procesoriem pievienota ProcessVertices() atkāpšanās versija bez SSE2, kas nozīmē, ka slānis strādā arī uz ARM mašīnām caur attiecīgajiem Wine variantiem. Vēl pievienots tiešais ceļš GetDC un ReleaseDC izsaukumiem, kura ieguvums atkarīgs no tā, cik bieži konkrētā spēle tos lieto.
uzstādīšana un robežas
Ieteiktais uzstādīšanas veids uz Linux ir aizstāt Wine sistēmas ddraw.dll mapē system32 vai syswow64, tad winecfg logā pievienot bibliotēkas aizstāšanu ar vērtību native, builtin. Vai slānis tiešām ieslēdzies, pārbauda ar DXVK_HUD=1. Windows lietojums ir iespējams, bet praktiski nepārbaudīts.
Minimālā prasība ir Vulkan 1.4 līmeņa grafikas procesors. Vecākai dzelzij ir DXVK-Sarek atzars, kas nolaiž prasību līdz Vulkan 1.1. Divas lietas D7VK nedara vispār: neatbalsta Direct3D saglabātā režīma lietotnes, kā arī spēles, kas jauc Direct3D kopā ar GDI zīmēšanu. Pēdējo izstrādātājs projekta aprakstā formulējis skaidri: tādas lietotnes nav gaidāms, ka jebkad strādās.
Projekta mērogs paliek attiecīgs tā uzdevumam. DXVK GitHub ir ap 18 000 zvaigžņu, D7VK nedaudz vairāk par 700. Aiz tiem stāv vairāk nekā 8000 komitu no viena cilvēka.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.