SteamOS 3.8.20 beta atneša protingesnį VRAM valdymą AMD vaizdo plokštėms

SteamOS 3.8.20 beta atneša protingesnį VRAM valdymą AMD vaizdo plokštėms
AI santrauka Skaityti EN

Naujausia SteamOS beta versija 3.8.20 turi svarbų atminties valdymo patobulinimą, skirtą AMD vaizdo plokštėms su ribotu VRAM kiekiu – būtent tokioms, kokios yra kiekviename rinkoje esančiame SteamOS įrenginyje. Šį pataisymą sukūrė nepriklausoma rangovė Natalie Vock, dirbanti prie RADV – atvirojo kodo bendruomenės Vulkan draiverio, skirto AMD vaizdo plokštėms.

Pagrindinė problema buvo ta, kaip Linux valdė VRAM paskirstymą, kai žaidimo duomenys viršydavo vaizdo plokštės dedikuotos atminties kiekį. Kai VRAM užsipildo, operacinė sistema perteklių perkelia į GTT – antrinį rezervą sisteminėje atmintyje, kurį vaizdo plokštė pasiekia per PCIe jungtį. PCIe turi kur kas mažesnį pralaidumą ir prastesnį vėlavimą (latency) nei dedikuota VRAM, todėl bet kokie GTT esantys duomenys, kurių reikia vaizdo plokštei, kerta per našumą. Dar blogiau, kad operacinė sistema neturėjo patikimo būdo žinoti, kurie duomenys yra kritiniai, o nuolatinis jų stumdymas tarp atminties rezervų kėlė strigimus. Ankstesnė paskirstymo strategija nurodydavo branduoliui (kernel) traktuoti GTT kaip priimtiną alternatyvą, o ne kaip paskutinę išeitį, todėl Linux nepakankamai agresyviai stengėsi išlaikyti žaidimo duomenis VRAM. Vock tai pademonstravo su Cyberpunk 2077 ant 8 GB vaizdo plokštės: žaidimas naudojo tik 6 105 MB VRAM, tačiau Linux jau buvo be reikalo išstūmusi 1 370 MB į GTT.

Pataisymas naudoja Linux kernel cgroups – valdymo grupes, kurios leidžia operacinei sistemai taikyti tikslias taisykles, kaip resursai paskirstomi ir apsaugomi kiekvienam procesui. Trūkstama grandis buvo dedikuotas VRAM cgroup kontroleris. Vock, kartu su Maarten Lankhorst iš Intel ir Maxime Ripard iš Red Hat Linux, sukūrė branduolio patch'ą, kuriam padėjo įrankis dmemcg-booster. Kartu šie pakeitimai leidžia SteamOS aktyviai apsaugoti žaidimo VRAM alokaciją ir neleisti operacinei sistemai per anksti išmesti kritinių duomenų. Visgi įrenginiai su integruotomis vaizdo plokštėmis naudos greičiausiai nepajus – iGPU dalijasi bendra sistemine atmintimi ir neturi atskiro VRAM rezervo, todėl ši problema jiems tiesiog negalioja.

Šis patobulinimas jau veikia 3.8.20 beta kanale. Žaidėjai, turintys ribotos VRAM talpos nešiojamus konsolinius kompiuterius ar mini PC su SteamOS – ypač tie, kurie žaidžia reiklių resursų žaidimus, balansuojančius ties VRAM riba – labiausiai pajus naudą, kai tik šis update'as pasieks stabilią versiją.

Reakcijos

Šaltiniai (1)

DI parengta santrauka, peržiūrėta redakcijos — kaip dirbame.

Gauti dienos apžvalgą

Žaidimų naujienos — kasdien 9:00.