Před nedávnem se objevily informace o technologii DirectSR, kterou chystá Microsoft jako novou součást API DirectX, nad nímž je postavená většina her pro PC. DirectX standardizuje mnoho věcí včetně API pro 3D grafiku, s DirectSR se k tomu přidá rozhraní, přes které hry budou moci snadno používat upscaling, jako je DLSS. A to bez toho, aby musely přímo podporovat všechna různá řešení výrobců GPU, každé zvlášť.
Jak bude DirectSR fungovat, jsme nakonec správně odhadli už z předběžné anotace. Nyní Microsoft tuto technologii oficiálně představil na konferenci GDC 2024, a můžeme se tedy podívat, jak to bude přesně fungovat.
DirectSR: Jeden upscaling s mnoha možnostmi
Microsoft potvrdil to, že půjde o API, tvořící abstrakci mezi hrou a upscalingovou technologií od výrobce GPU. Místo toho, aby hra integrovala přímo třeba knihovnu DLSS od Nvidie nebo FSR od AMD (a používala jejich API), bude pracovat se standardním API, které definuje Microsoft a jeho použití zajistí hře všechny funkce DLSS, FSR nebo obdobné technologie.
Hra přes toto API bude poskytovat všechny potřebné vstupy (a to, jaké požaduje parametry škálování a kvalitu) a naopak získávat výsledné upscalované snímky. DirectSR využívá to, že DLSS, FSR i XeSS od Intelu pracují dost podobně a používají podobá vstupní data, není tedy moc těžké pro ně API sjednotit.
Na druhé straně API pak bude odděleně existovat samotná implementace, která bude moci být různá, ale díky standardnímu API s ní budou hry vždy umět pracovat. Implementaci dodají ovladače grafické karty, takže pokud máte grafiku Nvidia, aktivuje se přes DirectSR technologie DLSS, zatímco u AMD to bude FSR a u Intelu jeho XeSS. Tento krok Microsoftu tedy nijak nesváže ruce výrobcům GPU.
Výchozí verze založená na FSR 2.2
Microsoft zřejmě přímo v DirectSR poskytne záložní a kompatibilní implementaci, víceméně asi pro případ, že ovladače GPU nebudou žádný upscaling poskytovat. Podle Microsoftu bude tato základní implementace postavená na AMD FSR 2.2.2 (údajně by mohlo být odvozené přímo i API, které se asi stalo pro DirectSR základem jako onehdy Mantle pro Vulkan). To je open source software pod licencí MIT, který nemá žádné speciální požadavky na hardware a je kompatibilní prakticky se všemi GPU. Tím je pro začlenění ideální. Přímo vlastní alternativní algoritmus nebo technologii tedy MS nevyvinul.
Konkurenční grafiky nebudou k využití této implementace (místo vlastní technologie) jako takové nijak nucené, ovladače GPU ji mohou přebít a nastavit svoji vlastní technologii jako preferované řešení. To také asi obvykle budou dělat, je ale možné, že toto záložní FSR 2.2 by se mohlo mít uplatnit na starších grafikách Nvidie nepodporujících DLSS.
FSR 2.0 používá temporální rekonstrukci zlepšující detaily pomocí dat z předchozích snímků, filtr používá pohybové vektory pro kompenzaci pohybu a data o hloubce objektu ve scéně
Když se původně informace o DirectSR objevila, napadlo nás, zda pro ně nevznikne problém. Nyní, když je FSR podporováno přímo ve hře, totiž mohou používat tento upscaling od AMD. Pokud by ale hry podporovaly jen upscaling přes DirectSR, ale Nvidia sama poskytovala ve svých ovladačích přes toto API jen DLSS vyžadující novější GPU s jednotkami tensor core, mohlo by GeForce GTX skončit v horší situaci než před standardizací. To, že FSR 2.2 bude k dispozici coby záložní řešení přímo od Microsoftu, tuto obavu vyřešilo.
Zjednodušení situace ve hrách
Pro vývojáře hry by mělo jít o velké zjednodušení, protože budou mít implementací jednoho API pro upscaling pokryté technologie od všech výrobců GPU současně (a také budou muset testovat jen jednu verzi kódu). Odpadne nutnost implementovat DLSS, FSR a XeSS zvlášť. To mívalo často ten efekt, že se vývojáři soustředili nejprve na řešení dominantní značky (DLSS) a AMD či Intel měli smůlu, nebo hráči dostali podporu se zpožděním. Při použití DirectSR bude podpora rovnocenná pro všechny, pokud výrobce GPU udělá svoji práci v ovladačích – což zase stačí udělat jednou a mělo by to fungovat pro všechny hry.
Výhoda je i v tom, že ovladače GPU budou moci samy aktualizovat verzi upscalingu o nová vylepšení a ve hrách se ta projeví okamžitě po instalaci nových ovladačů, místo abyste museli čekat na to, kdy vývojáři hry novou verzi integrují a vydají update (což se u starších her ani nemusí stát). AMD takto například bude moci vydat novou verzi FSR používající AI, která bude podporována jen částí grafik a ve hrách podporujících DirectSR ji bude možné automaticky používat. A současně pro starší Radeony nezmizí možnost použít původní FSR.
API by také mělo umožňovat, aby upscaling nepočítalo jen GPU. Microsoft zmiňuje i možnost využití specializovaných akcelerátorů AI (NPU), které by mohly úlohu upscalovacího řešení převzít a také se přes DirectSR „přihlásit“ do práce ve hrách.
DirectSR by nemělo bránit dalšímu vývoji
Nynější verze DirectSR by měla fungovat s nejnovějšími verzemi XeSS, FSR i DLSS včetně temporální rekonstrukce (nejdůležitější část FSR 2.x a DLSS 2.x). Není však jasné, zda se bude přes DirectSR dát používat také funkce generování snímků z DLSS 3 a FSR 3 nebo funkce Ray Reconstruction z DLSS 3.5.
Mohly by se proto asi objevit určité obavy, zda oddělení upscalingu od her pomocí abstrakce DirectSR nebude překážkou pro budoucí inovace, které by třeba požadovaly předávání nových dat a nové způsoby interakce mezi hrou a upscalovací knihovnou. Microsoft ale uvádí, že API DirectSR nebude dané navždy a v případě potřeby k němu budou přidány nové vlastnosti, aby se takové nové technologie daly do her implementovat.
Celkově tak snad přesun upscalingu do standardu DirectSR bude pozitivem a mohl by mít hlavně přínosy.
Podle Microsoftu by se DirectSR mělo objevit poměrně brzo jako „preview“ v Agility SDK. Zatím ale nemáme informace o tom, kdy podporu pro tuto technologii hodlají poskytnout výrobci GPU ve svých ovladačích a kdy by se případně mohly objevovat hry používající toto nové API.
Zdroje: VideoCardz, TechPowerUp, 4Gamer