Microsoft DirectSR is een api die werkt met upscaling van DLSS, FSR en XeSS

Microsoft verduidelijkt in aanloop naar de volledige onthulling dat DirectSR een DirectX-api is die de implementatie van upscalingtechnologieën van andere fabrikanten in DirectX-games mogelijk maakt. Eerder werd gespeculeerd dat Microsoft eigen AI-upscalingtechnologie ontwikkelde.

DirectSR, ofwel DirectX Super Resolution, is een api die ontwikkeld is in samenwerking met fabrikanten zoals Nvidia, Intel en AMD, zo verduidelijkt Microsoft in een blogpost. "Deze api maakt resolutie-upscaling door meerdere aanbieders mogelijk dankzij een algemene set van inputs en outputs, waarbij ontwikkelaars een enkel programmeerpad kunnen gebruiken om technieken zoals Nvidia Deep Learning Super Sampling, AMD FidelityFX Super Resolution en Intel XeSS in hun games te implementeren."

Microsoft zegt dat het binnenkort een publieke preview uitbrengt, waarna ontwikkelaars de api kunnen testen en feedback kunnen geven. Over een definitieve releasedatum zegt het bedrijf nog niets. DirectSR werd eerder deze week voor het eerst onthuld, met de belofte dat er tijdens de Game Developers Conference-beurs halverwege maart meer informatie bekendgemaakt zou worden. Na de initiële aankondiging werd gedacht dat de technologie zou concurreren met onder meer DLSS en FSR, maar dat blijkt dus niet zo te zijn.

Overigens bieden Nvidia en AMD ook zelf hun upscalingtechnologieën aan ontwikkelaars aan, respectievelijk via een plug-in en opensourcecode. Tot dusver is er nog geen manier om al deze technieken in één keer aan een game toe te voegen.

Door Yannick Spinner

Redacteur

29-02-2024 • 15:51

22 Linkedin Whatsapp

Reacties (22)

22
22
13
1
0
6
Wijzig sortering
Ben benieuwd naar een (eventueel) performance verschil tussen het gebruik van DirectSR of rechtstreeks DLSS/FSR/XeSS.

Ik kan mij niet indenken dat die er niet is, en dan worden games dus nog trager en veeleisender dan ze al zijn. Straks is de cirkel rond en is het door al deze lagen zo traag dat je net zo goed op native resolutie kan renderen... 8)7
Ik zou niet weten waarom dit voor echte performance problemen moet zorgen, het is gewoon een wrapper call om wat normaal een engine zelf moet doen met "enable DLSS/FSR/XeSS" en "markeer deze buffer als exclude in upscaling" calls naar de videokaart driver. Dit zijn sowieso calls die relatief weinig aangeroepen zullen worden (vergeleken met "vul buffer met data" calls) dus zelfs in worst-case zal het niet zoveel uitmaken.

Het is niet zo dat DirectX veel werk moet verrichten hiervoor (misschien wat data structuren ombouwen) en ik denk dat de meeste compilers dit zelfs helemaal weg zullen optimaliseren. En veel game engines doen dit nu al zelf (vooral als er nu al meerdere APIs zoals DirectX, OpenGL of Vulkan ondersteund worden) dus waarschijnlijk is de performance exact hetzelfde of dit nu in de engine gebeurd of in de DX API.

Het voordeel is dat developers niet meer vendor-specifieke dingen (of in ieder geval support voor upscaling) in hun games moeten bouwen dus als er eenmaal support is voor upscaling dan kan in de toekomst waarschijnlijk een andere nieuwe manier zo via DirectX toegevoegd worden in plaats van dat developers dit per-game moeten implementeren. En mocht de performance toch verschrikkelijk zijn dan zullen veel meer games hier last van hebben dan een enkele custom implementatie, dus is er ook meer motivatie om het te fixen aan Microsofts kant.
Het voordeel is wel dat je meer dan 50 games hebt waarin de techniek te gebruiken is, in tegenstelling tot al die los staande technieken. Nog los van het gegeven dat we dan hopelijk af zijn van die praktijken waarbij videokaart fabrikanten een bak geld investeren in één game om het op hun kaarten er beter uit te laten zien dan die van de concurrent. En we dus weer meer innovatie in game ontwikkeling krijgen, en geen tijd geld en middelen verspild worden aan in game technieken die 99% van de gamers niet kunnen, zullen en of willen gebruiken.
Ik denk niet dat je het idee begrijpt achter upscaling. Het is bedoeld om lagere resoluties met behulp van wiskundige algoritmes om te zetten naar hogere resoluties met het gebruik van minder resources. Het doel is besparen, en upscaling op deze manier ís innovatie. Deze techniek wordt ook ingezet in bv scanners in het ziekenhuis.

Het is heel kortzichtig om te denken dat upscaling door een videokaartfabrikant is bedoeld om die ene game er met zijn videokaart beter uit te laten zien dan die van de concurrent. Ik begrijp niets van het sentiment op deze site dat upscaling een goedkope truc is en daarom snap ik weinig van het verwerpen van deze techniek. Dit is de toekomst en de toekomst is nu.

Ik juich de ontwikkeling van DirectSR toe. Want je graka laten renderen op bv 1080p om vervolgens met alle eyecandy aan vloeiend op 4K te kunnen spelen(misschien op je TV?), wil iedereen, ongeacht het kamp(rood of groen) waar je blijkbaar in moet zitten volgens deze community.

[Reactie gewijzigd door ABD op 2 maart 2024 16:43]

Probeer dan even Lossless Scaling.
Is eigenlijk exact hetzelfde als dit en zelfs meer.

Is al wel even in ontwikkeling, maar presteert nu al prima.

https://store.steampowered.com/app/993090/Lossless_Scaling/
Top. Dan hoeven ontwikkelaars straks dus niet meer te kiezen en heeft iedere game dus gewoon de beste upscaling die de GPU kan leveren.
Eventuele verbeteringen zouden dan ook nog eens op driverniveau doorgevoerd kunnen worden zonder dat de games geüpdatet hoeven te worden.
Deze oplossing heeft zeker zo zijn voordeel. Het grootste nadeel van deze oplossing is echter wel dat het windows specifiek is, terwijl de afgelopen jaren met dingen zoals de steam deck en ROG ally aan de weg hebben getimmerd om gaming op Linux mogelijk te maken. Maar hopelijk komt er ook een vulkan equivalent, of komt er een mooie wrapper voor proton (die dat nu al doet voor de meeste games voor andere functionaliteit).

edit: ally draait op windows, dank voor de verbetering caayn

[Reactie gewijzigd door Gropah op 29 februari 2024 18:00]

Rog Ally is gewoon, standaard, een Windows apparaat, evenals de Lenovo Legion Go. Enkel de Steam Deck draait, standaard, op Linux.
Hmm, ik had in mijn hersenen zitten dat ie op linux draaide, maar je hebt gelijk. Punt blijft wel staan dat het windows specifiek is, en dat dat niet altijd even wenselijk is.
Liever dat Microsoft lekker weg blijft met hun DirectX, het lijkt tegenwoordig alleen bedoeld als OS-lock voor games zodat ze minder makkelijk op steamdeck/Linux of Mac en iOS uitgegeven kunnen worden. Zeker aangezien deze voorgestelde functie in feite niets doet of toevoegt. Daarnaast is vaak de performance zonder directX beter bij gebruik van Vulkan of Proton
Deze api maakt resolutie-upscaling door meerdere aanbieders mogelijk dankzij een algemene set van inputs en outputs, waarbij ontwikkelaars een enkel programmeerpad kunnen gebruiken om technieken zoals Nvidia Deep Learning Super Sampling, AMD FidelityFX Super Resolution en Intel XeSS in hun games te implementeren."
Ze gooien alleen hun eigen sausje over het werk van anderen lijkt het

[Reactie gewijzigd door OLED op 29 februari 2024 16:03]

Ze gooien alleen hun eigen sausje over het werk van anderen lijkt het
Ze zorgen ervoor dat men niet 3x werk heeft om 3 verschillende upscaling technieken te implementeren. In plaats daarvan kan een ontwikkelaar deze DirectSR aanroepen met het idee dat DirectSR zelf vervolgens de boel aanstuurt richting DLSS, FSR en XeSS.
Dat klopt, maar de ontwikkelaar moet alsnog de keuzemogelijkheden implementeren voor andere platformen. Alleen als een ontwikkelaar exclusief voor Windows uit wil geven heeft dit een voordeel. Het schept afhankelijk in ruil voor exclusiviteit en dus mogelijk minder inkomsten voor de ontwikkelaar
Deze bewering klopt niet toch? Als men besluit te publishen voor "PC" wordt DirectX al snel nuttig. Linux heeft op PC gaming minder dan 2% marktaandeel aldus Steam. Gezien de overlap tussen Xbox consoles en Xbox PC en de keuze voor DirectX een stuk logischer dan ineens te gaan kijken naar Vulkan. Sinds DirectX12 Ultimate is de boel redelijk gelijk getrokken tussen DirectX op de Xbox consoles en DirectX op de pc.

Vulkan games zijn niet verrassend vrijwel uitsluitend games die niet op de Xbox uitkomen.

Ik kan me voorstellen dat je frustratie met DirectX vooral te maken heeft met een liefde voor linux. Echter vanuit commercieel standpunt is Linux voor pc gaming nog altijd niet relevant genoeg om af te stappen van DirectX. Vergelijk het met het gehaatte Gameworks van Nvidia. Eind van de dag kiezen ontwikkelaars ervoor omdat ze ondersteuning krijgen. Vulkan is daarbij het andere uitererste, leuk 'bare metal' maar je kan bij niemand terecht voor support. Veel ontwikkelaars zijn dan ook pragmatisch en willen gewoon dat hun game uit komt.

[Reactie gewijzigd door sdk1985 op 29 februari 2024 16:59]

Ik kan me voorstellen dat je frustratie met DirectX vooral te maken heeft met een liefde voor linux.
Haha nee het is nog leuker, want hij komt hier klagen over een vendor-lockin, maar is tegelijk groot fan van de koning van de vendor-lockins.

En dat merk heeft dan toevallig ook een tegenhanger van DirectX (Metal genaamd) wat enkel werkt op - je raad het al - hun eigen OS(sen).
DirectX is juist bedoeld zodat niet elke ontwikkelaar apart voor elke videokaart hoeft te programmeren. Net als OpenGL / Vulkan.

Dus het voegt wel degelijk wat toe.
DirectX werkt een stuk eenvoudiger dan Vulkan, en komt (omdat er geen 100+ organizaties over moeten vergaderen) vaak eerder met nieuwe features.

Het werkt daarnaast via Proton ook nog eens op Linux dus weinig over te klagen tegenwoordig. Nu Apple nog over :+
Mee eens; maar ik heb dit veel liever dan Nvidia's variant van dit die ook een poging heeft gewaagd.
Deze API gaat er juist voor zorgen dat de markt verder open gebroken kan worden voor Intel om een redelijk alternatief te worden. Daarbij is DirectX gewoon ook vaak gewoon superieur aan zijn alternatieven.
Liever dat Microsoft lekker weg blijft met hun DirectX,
Absoluut niet? Hoe absurd zou dat zijn dan krijg je toestanden zoals vroeger.
Gezien dat zowat alles op steam deck draait is dat redelijk grote onzin.
Ze gooien alleen hun eigen sausje over het werk van anderen lijkt het
Ik denk dat je niet snapt wat dit is en hoe het werkt.
Ik veronderstel dat de upscaler dan ook naar de driver verhuist? Dan kan deze bijgewerkt worden met driver updates. Nu moet je wachten tot de game developer een update uitbrengt.
Hmm, ik weet niet hoe nuttig dit dan is / wat het echt toevoegt. De meeste games die upscaling ondersteunen, ondersteunen al alle upscalers. Als je er eentje implementeert, zijn de andere volgens mij super makkelijk te implementeren, omdat ze volgens mij zowat dezelfde data nodig hebben. Dat is ook waarom mensen makkelijk mods kunnen maken om van FSR2 -> DLSS te gaan of andersom (+ XeSS).
Daarnaast heb je tegenwoordig nu upscalers die specifiek zijn gekoppeld aan een engine, zoals van Unreal (TSR). Die kan je dan sowieso niet selecteren in dit menu in Windows lijkt mij?
Daarnaast vraag ik me ook af of je ook de interne resolutie hier moet instellen, want dat lijkt me ook niet ideaal. Er zijn games waarbij ik op 720p intern draai, en anderen zelfs op 2160p, groot verschil.
DLSS etc technieken zijn leuk maar ik vindt het spel blurry worden net als frame generation input lag geeft, dan heb ik liever lager fps dan hogere frame time,s/input lag(met G-sync ingeschakeld sowieso geen groot issue).

Bloom, Motion Blurr, Chromatic Aberration, AA, zijn altijd de settings die ik bewust uitgezet.
Ik heb een monitor met hoge PPI waardoor zaken als AA niks toevoegen(24" 1440p).

(Met een 4080 op 1440p voegt DLSS sowieso weinig toe op moment).

[Reactie gewijzigd door mr_evil08 op 1 maart 2024 14:33]

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee