Microsoft ogłosił dzisiaj, że DirectX 12 jest pierwszym graficznym API, który oferuje szerokie wsparcie sprzętowe dla technologii Variable Rate Shading. Jest to nowe, potężne API, które pozwala deweloperom wykorzystywać GPU w bardziej inteligentny sposób, dzięki czemu grafika renderuje się szybciej przy niezauważalnych gołym okiem różnicach w cieniowaniu poszczególnych obszarów. Poznajmy szczegóły tej implementacji.
Shadery wywoływane są do obliczania (opisania) koloru każdego piksela na ekranie. Częstotliwość cieniowania (shading rate) odnosi się do rozdzielczości, w której pracują te shadery i która jest inna niż rozdzielczość całego ekranu. Wyższa częstotliwość cieniowania oznacza wyższą rozdzielczość wizualną, ale kosztem zwiększonego użycia GPU. Niższa częstotliwość cieniowania daje wynik odwrotny - niskie zużycie procesora graficznego i niższą jakość obrazu. Tradycyjnie, gdy deweloper wybiera częstotliwość shadingu dla gry, odnosi się ona do wszystkich pikseli w klatce. Jest z tym jednak problem - nie wszystkie piksele tworzone są na równi.
Variable Rate Shading (VRS) pozwala deweloperom selektywnie zmniejszyć częstotliwość cieniowania w obszarach klatki, w których zmiana ta nie wpłynie na jakość wizualną, a to poprawia wydajność gry. Większa wydajność to więcej klatek na sekundę i możliwość renderowania lepszej grafiki przez słabszy sprzęt. Co więcej, VRS pozwala też niejako równać w górę: zwiększając częstotliwość cieniowania w obszarach, które liczą się najbardziej, można osiągnąć lepszą jakość wizualną w grach. VRS powstał z myślą o deweloperach i możliwości integracji z ich silnikami.
Microsoft wyjaśnił kilka technik, na podstawie których deweloperzy mogą włączyć VRS. Zostały też pokazane przykłady zastosowania API w grach od Firaxis, z którym Microsoft współpracował, by ukazać działanie VRS na istniejących kartach Nvidii. Na zrzutach ekranu, które tu widzimy, jakość grafiki nie została w widoczny sposób pogorszona, a jednak odnotowano wzrost fps-ów nawet o 20%.
VRS wspiera dostępny dziś na rynku sprzęt Nvidii, a także nadchodzący sprzęt Intela. Producent procesorów eksperymentował już z VRS na prototypowych modelach Gen11, które mają wejść na rynek w tym roku. Sprzęt ten będzie można zobaczyć na stoisku Intela na GDC 2019 oraz na specjalnej, poświęconej temu sesji. Wsparcie dla VRS w swoich grach/silnikach zapowiedziało też kilku ważnych producentów, w tym Unity, Activision, Ubisoft, Epic Games, Playground Games, Turn 10 Studios czy 343 Industries.