Ако следите новините в технологичния сектор напоследък, вероятно знаете, че основният интерес сред потребителите на Windows 11 е насочен към най-новата версия 26H2 – както при корпоративните системи, така и при домашните компютри.

Въпреки това, интересни неща се случват и в сферата на игрите, тъй като Microsoft наскоро обяви значителни подобрения в технологията Advanced Shader Delivery (ASD). Компилирането на шейдъри по време на изпълнение (runtime compilation) е известна причина за накъсване и внезапни забавяния (т.нар. „stutter“ и „hitch“) по време на игра. Ако сте се сблъсквали с този проблем, вероятно знаете колко е досаден, особено когато геймплеят внезапно спира или замръзва, докато процесорът извършва това компилиране на шейдъри в реално време (тип JIT – just-in-time) във фонов режим.

Технологията ASD на Microsoft, както подсказва и името ѝ, е създадена да елиминира този проблем, като предоставя предварително компилирани шейдъри още при изтеглянето на играта от потребителя. По този начин се премахва накъсването по време на игра, заглавията се зареждат по-бързо, а натоварването на процесора (и съответно консумацията на енергия) намалява. Разбира се, това изисква от разработчиците да поддържат въпросната функция и да я интегрират при създаването на игрите.

Появи се ново приложение от външен разработчик, което обещава значително да намали накъсванията, породени от компилирането на шейдъри, без да изисква специална поддръжка от самата игра. Приложението носи името SCSKiller, като съкращението SCS идва от (както вероятно се досещате) Shader Compilation Stutter (накъсване при компилиране на шейдъри).

Програмата анализира шейдърите, включени в играта, и определя кои направления трябва да бъдат изградени. След това ги компилира предварително в кеша за шейдъри на графичния драйвер, докато самата игра не е стартирана. Казано по-просто: когато най-накрая пуснете играта, въпросните шейдъри вече ще се намират в кеша и ще бъдат готови за употреба. Идеята е, че с помощта на SCSKiller потребителите няма да се сблъскват с накъсвания, причинени от JIT (Just-in-Time) компилирането на шейдъри.

Резултатите, представени от самия разработчик на SCSKiller, са впечатляващи. Например, при тестване на Final Fantasy VII Rebirth с видеокарта RTX 5090, са отчетени 19 случая на накъсване с продължителност поне 20 ms при празен кеш на драйвера, докато с използването на SCSKiller този брой е сведен до нула. Продължителността на най-сериозното забавяне също е намаляла драстично – от 76 ms на едва 5 ms.

Разликата е още по-осезаема при хардуер на AMD, поне в конкретния случай. При същата игра, тествана на система с процесор Ryzen AI Max+ 395, броят на подобни накъсвания е спаднал от 162 до нула, а най-голямото забавяне е намаляло от 291 ms на 7 ms.

Можете да разгледате пълните резултати от теста по-долу:

Все пак, това са собствените измервания на разработчика, направени при специфични условия, така че реалните резултати могат да варират в зависимост от играта, графичния ускорител, централния процесор и драйвера. Като стана дума за това, най-новият незадължителен графичен драйвер на AMD – Radeon 26.9.2 – най-накрая добавя поддръжка за компилиране на шейдъри във фонов режим (чрез DX12) за игри, базирани на Unreal Engine 5.

Що се отнася до съвместимостта, SCSKiller понастоящем поддържа графични процесори на Nvidia и AMD, като игрите с DirectX 12 се поддържат и при двете марки, а тези с DirectX 11 – само при Nvidia. Инструментът може да открива игри в изненадващо голям брой платформи за стартиране, включително Steam, Epic Games, EA app, GOG, Ubisoft Connect, Xbox, Battle.net, HoYoPlay и други. Графичните процесори на Intel обаче засега не се поддържат.

Приложението може също така автоматично да прекомпилира шейдърите на дадена игра след актуализация на графичния драйвер – функция, която е полезна, тъй като обновленията на драйверите понякога изтриват съществуващия кеш на шейдърите. За игри, при които SCSKiller не може да разпознае всички конвейери (pipelines) само от файловете, е предвиден опционален инструмент за запис; той ви позволява да играете няколко минути и след това използва събраната информация за компилиране на необходимите шейдъри.

В тази връзка, Nvidia App също предлага подобна функционалност, наречена Auto Shader Compilation (ASC), която възстановява шейдърите, след като бъдат изтрити при актуализация на драйвера. По подразбиране ASC е изключена.

SCSKiller е безплатен софтуер с отворен код, но към момента версиите му не са цифрово подписани. Това означава, че Windows Defender SmartScreen може да го маркира като потенциален риск и да покаже предупреждение при първото стартиране на приложението. Авторът посочва, че процесът по подписване на кода вече е в ход.

Ако искате да изпробвате програмата, можете да посетите официалното ѝ хранилище в GitHub или уебсайта ѝ, достъпен чрез връзката към източника по-долу. Можете да добавите игрите си в опашка, да стартирате компилирането и след приключване на процеса да пуснете играта по обичайния начин. Съдейки по коментарите в Reddit, първоначалните резултати определено впечатляват потребителите.

Снимка: Unsplash/SCSKiller

Виж още: Катастрофални сблъсъци между големите спътници на планети в Слънчевата система могат да разкрият замръзналата в недрата им вода

 

Тагове:
Още от Play