Microsoft: DirectSR heeft gestandaardiseerde interface voor upscalingtech derden

DirectSR is volgens Microsoft bedoeld om de implementatie van upscalingtechnologie te vergemakkelijken voor ontwikkelaars. Door middel van een gestandaardiseerde interface moeten onder meer DLSS, FSR en XeSS via DirectX geïmplementeerd kunnen worden in games.

Microsoft heeft samen met Nvidia en AMD tijdens de GDC 2024 meer details gedeeld over de Direct Super Resolution-api, schrijft 4Gamer. De onlangs aangekondigde technologie moet het makkelijker maken voor gameontwikkelaars om upscalingtechnologie van verschillende aanbieders automatisch in hun games te verwerken. Tot dusver moesten ontwikkelaars onder meer shadercode handmatig per upscalingtechniek in een game verwerken, waardoor het per game verschilt of de betreffende technieken ondersteund worden.

Naar eigen zeggen verhelpt Microsoft dat door de DirectSR-runtime te voorzien van gemeenschappelijke code van de verschillende upscalingtechnieken. Hoewel de vermelde technieken allemaal voor- en nadelen hebben, zouden veel parameters fundamenteel erg op elkaar lijken. DirectSR kan bijvoorbeeld alvast algoritme-inputs voor bewegingsvectors, camera-jitter en kleuren van bronbeelden verwerken. Microsoft doet met andere woorden de preprocessing voor upscaling en het voorbereiden van de vermelde parameters voor de betreffende technieken.

Het bedrijf benadrukt dat er geen gestandaardiseerde specificaties voor upscaling komen, maar een meer gestandaardiseerde manier om de verschillende technieken in games te verwerken. Dit moet werken op zowel gpu's als npu's en ongeacht de hardwarevereisten van bepaalde technieken. DLSS vereist bijvoorbeeld Nvidia's Tensor-cores. Vooralsnog is er geen releasedatum van de DirectSR-api. Ontwikkelaars moeten binnenkort met een bètaversie van de technologie aan de slag kunnen.

Microsoft DirectSRMicrosoft DirectSRMicrosoft DirectSR

Bron: 4Gamer

Door Yannick Spinner

Redacteur

25-03-2024 • 12:55

32

Submitter: CriticalHit_NL

Reacties (32)

32
32
12
0
0
17
Wijzig sortering
Ben ik de enige die de ontwikkeling van dit soort AI upscaling een beetje jammer vind? Ontwikkelaars lijken nu te gaan leunen op upscaling ipv dat ze hun game ontwerpen om op native resoluties te kunnen renderen. We zien nu dus gebeuren dat nieuwe games op de laatste platformen op lagere resoluties renderen dan games van de vorige generatie. IMO een hele slechte ontwikkeling.

Het is een leuke technologe om nog wat rek te halen uit oude hardware, maar daar wordt het al lang niet meer voor gebruikt.

[Reactie gewijzigd door Aaargh! op 23 juli 2024 19:08]

Je bent zeker niet de enige. Er worden behoorlijk wat negatieve reviews achtergelaten op Steam in games waar aangeraden wordt om DLSS te gebruiken.

Het is zeker jammer dat ontwikkelaars niet meer de tijd krijgen om hun games te optimaliseren. Daardoor heb ik het idee dat de kennis van optimalisatie ook aan het verwateren is.
Tenzij ik een screenshot side by side zet vind ik het al erg lastig om het verschil tussen native en upscaled naar 1440p te zien.

Waar het wel een beetje mank gaat is dat er tegenwoordig niet alleen op DLSS/FSR geleund wordt maar daarbij ook nog eens op Frame Generation.
Leuk als je een 4090 of 7900XTX tot je beschikking hebt en prima 60 fps haalt maar als je op een lagere tier kaart zit wordt het al snel een instabiele ervaring aangezien zowel Nvidia als AMD minimaal 60fps aanraad om optimaal van Frame Generation gebruik te kunnen maken.
De kennis is niet "aan het verwateren".

De kennis is inmiddels al dusdanig verwaterd dat de ontwikkelaars het helemaal niet meer kunnen.
Daardoor zijn er nu al die kunstgrepen noodzakelijk om dingen nog enigszins acceptabel te laten lopen.

Eerlijkheid halve moet er wel bij worden vermeld dat dit mede wordt ingegeven door een kosten baten plaatje, het loont simpelweg niet meer om te optimaliseren omdat met deze technieken de zaken redelijk draaiend gemaakt kunnen worden.
Dus mensen kijken helemaal niet meer naar optimalisatie want het is "overbodig", en de suits vinden dat wel aardig, want het is een taak die enorm veel tijd kost ten opzichte van een slechts kleine gain.

[Reactie gewijzigd door Alfa1970 op 23 juli 2024 19:08]

Ach, nog even wachten en dan laat je AI naar je code kijken en een lijst met mogelijke optimalisaties uitspugen waaruit je vervolgens een keuze maakt om te implementeren.
Ik denk dat je daar gelijk in hebt.
Nu al zie ik bij mezelf al hoever het werk versnelt door het gebruik van 'AI'.
Het zal in de toekomst alleen maar beter worden.
Als je weet wat je wilt, hoe het eruit moet zien, en je bent in staat om dat heel goed onder woorden te brengen dan kan een AI nu al prima functies schrijven die goed genoeg zijn om te gebruiken met een beetje refactoring.
ik voel me er precies zo bij toch vind 1 persoon die ik ken en die een indie dev is moet ik daar toch anders naar kijken GPU 's lopen gewoon achter op de tech van nu en DLSS is gewoon nodig

maar dit is a dus A uit andere bron dan mezelf en B N=1
We zien nu dus gebeuren dat nieuwe games op de laatste platformen op lagere resoluties renderen dan games van de vorige generatie.
Dit klopt niet. Ik denk echt niet dat je veel games of zelfs maar 1 kan vinden waarbij resolutie in de fidelity modus lager ligt dan 1080p. Die zitten meestal minimum aan 1440p.

Het is gewoon een nieuwe manier om het maximum te halen uit hardware. Niet anders dan TAA of zelfs raster. Men gebruikt al decennia dergelijke technieken, want raster werk ook gelijkaardig: je benadert zaken i.p.v. het te bruteforcen met RT. Je ruilt perfectie voor prestaties zodat je dit op andere vlakken kan inzetten om het eindresultaat te maximaliseren.

Ik begrijp echt niet waarom er zoveel puristen zijn als het aankomt op resolutie. Volgens mij zou de meerderheid nog niet eens native uit een blinde test halen.
Of je de technologie leuk vindt of niet, het is een verplichting. De rek qua GPU-innovatie zit er een beetje uit qua brute rekenkracht met name doordat chipkosten de pan uitreizen (kosten per mm^2 voor 4-5nm zijn dubbel ofzo van 7nm). De schaling qua GPU prestaties is niet zo meer zo als vroeger. Mensen willen toch hogere framerates en resoluties, puur 'brute force' rendering zoals voorheen waarbij alle pixels per frame gerenderd moeten worden, schaalt niet meer.
Heeft weinig te maken met GPU innovatie maar meer met hoeveel tijd je hebt per frame. 60FPS geeft je maar 16.67 milliseconds om een frame te berekenen. Hoe meer pixels, hoe meer je moet berekenen. Hoe meer objecten, hoe meer je moet berekenen. En natuurlijk willen we geen jagged edges. Wil je stabiel 60FPS, dan heb je significant minder dan die 16ms.
Deze technieken geven je de mogelijkheid om pixels te verzinnen op de GPU ipv te moeten berekenen.
Wat is dan precies je probleem? Op de PC kun je doorgaans zelf kiezen of er wel of niet gebruikt gemaakt moet worden van deze techniek.

En dan vraag ik mij af wat het probleem precies is? Je zet het uit en dan rendert het spel op native resolutie.

Dat gaat dan natuurlijk ten koste van de performance, maar meestal kun je dan wat andere zaken aanpassen om de grafische pracht en praal wat lager te zetten.

En dat is waarom deze optie er is, je kiest voor upscaling en dan kun je betere belichting en dergelijke gebruiken. Of meer objecten tegelijk in beeld en zo.

En op de consoles zit je gewoon met exact wat je zelf zegt: meer halen uit oudere hardware. Helaas zijn de consoles gewoon weer heel snel ingehaald door PC hardware en dan is upscaling gewoon de beste manier om toch best fancy graphics er op te krijgen.

En ja, dat gebeurde bij de vorige generatie ook. Zelfs op de Pro en X versies. Er waren niet heel veel spellen die daar native 4k deden, en anders was het geen 60fps of op zijn minst dynamic resolution scaling of checkerboarding.
En op de consoles zit je gewoon met exact wat je zelf zegt: meer halen uit oudere hardware.
Maar de nieuwe generaties consoles zijn geen oude hardware, da's nu precies de target waarvoor je moeten developen.

Uiteindelijk is het een keuze van de developers. Op een PS5 kan je prima games maken die 4k native op 120 fps draaien. Er is een X hoeveelheid rekenkracht beschikbaar en de ontwikkelaars kiezen hoe ze dit inzetten. Zij kiezen voor grafische effecten en raytracing boven resolutie en framerate. Ik vind dit een foute keuze. Meestal zie ik het verschil tussen die opties aan en uit niet eens, hooguit als het beeld stilstaat en ik ga 2 beelden naast elkaar vergelijken. Wat ik wel zie is dat het beeld onscherp is en de frame rate te laag.
Maar de nieuwe generaties consoles zijn geen oude hardware, da's nu precies de target waarvoor je moeten developen.
Dat gebeurt toch ook, maar vergeleken met PC hardware loopt het toch echt achter. Dat is ook de reden dat er straks weer een PS5 Pro komt.

Ik denk dat het gros van de mensen ook liever upscaling heeft zoals nu dan dat de verschillen met PC versies grafisch gezien veel groter dan nu worden.
Meestal zie ik het verschil tussen die opties aan en uit niet eens, hooguit als het beeld stilstaat en ik ga 2 beelden naast elkaar vergelijken. Wat ik wel zie is dat het beeld onscherp is en de frame rate te laag.
Is dat niet waarom er vaak een performance optie in het spel zit die framerate boven graphics prefereert?
Die performance optie bestaat meestal uit het verlagen vd resolutie. Ik wil EN resolutie EN frame rate boven graphics.
Dus je wil een PC waar je zelf kunt kiezen welke opties wel en niet aan staan? Ik kan mij in elk geval niet herinneren dat het beter was op de PS4/Xbox One.

Ik ken wel een paar spellen die native een bepaalde resolutie wisten vast te houden maar het gros was toch echt het zelfde verhaal als nu. Dynamische resolutie, performance mode met lagere resolutie en proberen niet onder te doen voor PC versies.

En bij de PS3/Xbox 360 was het ook vaak dat de resolutie niet 1080p was, maar 720p.

En sowieso:
Ik wil EN resolutie EN frame rate boven graphics.
En iemand anders wil betere graphics, waarschijnlijk de meerderheid want mooie plaatjes verkoopt.

[Reactie gewijzigd door LOTG op 23 juli 2024 19:08]

Het is een leuke technologie om nog wat rek te halen uit oude hardware, maar daar wordt het al lang niet meer voor gebruikt.
Dit komt door de enorme GPU prijzen, en dat komt door te weinig concurrentie. Kapitalisme werkt alleen als er gezonde concurrentie is, dus minimaal 4 tot 5 partijen in een markt. (EU onderzoek van jaren geleden)
Het is inderdaad jammer dat dit de richting is die het opgegaan is. De technologie zelf is geweldig, en als het daadwerkelijk bonus performance zou zijn voor games zie op zichzelf al goed geoptimaliseerd wat het originele idee was is het perfect. Maar het is nu helaas zo dat het gewoon de basis vormt om überhaupt performance targets te halen. Dat DLSS en frame-generation een vereiste is om op 4K met path tracing te spelen kan ik begrijpen, maar niet om een game op normale settings te kunnen spelen op 1080p.
Zeker niet. Ik erger me er al aan sinds de introductie jaren geleden. Het eerste wat ik bij nieuwe games doe is upscaling e.d. uitzetten. Ik render altijd op native resolution van m'n scherm (QHD). Als het dan niet performed ga ik details stap voor stap terugzetten tot het acceptabel is, maar resolutie blijft native.

Helemaal mee eens dat het gewoon geoptimaliseerd hoort te worden.

[Reactie gewijzigd door JvZ op 23 juli 2024 19:08]

Klinkt als goed nieuws! Ik vind het jammer dat iedere developer de technieken moet implementeren, zo is de kans dat een game geen support heeft voor jouw GPU tech kleiner. En dit maakt de markt eerlijker voor AMD en Intel om te kunnen concurreren met Nvidia op dit vlak.
Dat niet alleen, maar het zou ook mooi zijn als games zo profiteren van toekomstige ontwikkelingen. Ontwikkelaars houden op een gegeven moment op met de support of doen alleen nog bugfixes. Er zijn bijvoorbeeld allerlei spellen waar nu een oudere DLSS of FSR versie in zit en die nooit overgaan naar de laatste versie. En die zullen ook nooit ondersteuning krijgen voor DLSS 3 of FSR 4.

Met deze techniek zou je in principe alle spellen die DirectSR gebruiken, kunnen upgraden naar de laatste versie van upscaling zonder dat de ontwikkelaar iets hoeft te doen.
Er is een tooltje genaamd DLSS Swapper die voor veel games eenvoudig de DLSS versie kan aanpassen.
FSR heb ik geen ervaring mee.

Is alleen even opletten met sommige games anti-cheat software, die kunnen het niet leuk vinden als er aanpassingen aan de files plaats vinden. Dus aan te raden voornamelijk met singleplayer games te doen
De vraag is eerder waarom elke developer de technieken handmatig moeten toepassen.
AMD had namelijk onlangs een leuke toevoeging gemaakt wat systeem breed werkte voor vrijwel elke game.
Het probleem was dat de game Anti-Cheat software dit als cheating had bestempeld en werden de gebruikers gebanned.
https://www.tomshardware....tection-in-multiple-games

Er is wel een argument te maken over meer samenwerken met de developers om niet in zulke domme situaties te belanden maar feitelijk heeft AMD nu bewezen dat het kan en dat er andere factoren mee spelen die roet in het eten gooien zoals DRM/Anti-Cheat technieken. Als ze zo graag alles dicht willen timmeren zullen ze het zelf moeten implementeren i.p.v overlaten aan Nvidia of AMD.
In het verlengde daarvan is het weer de eindgebruiker die de noodzaak van DRM aantoont dus wie is uiteindelijk de bron van het probleem? De gebruiker?
Dat geeft toch exact aan waarom elke developer dat zelf moet doen. Het leunt op libraries die met de software mee geleverd worden in plaats van GPU drivers. Wat AMD deed was letterlijk de installatie van het spel aanpassen. Dat is niet heel netjes en heel terecht dat anti cheat daar over valt.

Als het onderdeel van de driver was dan zou het inderdaad gewoon te updaten en aan te passen zijn vanuit de gebruiker.

Afhankelijk van de implementatie van Microsoft zou dit probleem kunnen worden opgelost met DirectSR door de benodigde code niet met het spel mee te leveren maar uit de aanwezige DirectX installatie te halen zoals het met andere zalen nu ook al gebeurt die hier onderdeel van zijn.
Wat AMD deed was letterlijk de installatie van het spel aanpassen. Dat is niet heel netjes en heel terecht dat anti cheat daar over valt.
Hoe kom je erbij dat de installaties van de games aangepast worden? Dit ging om frame data wat in het geheugen geladen werd.
Tevens ook exact dezelfde wijze hoe Nvidia het doet maar bij Nvidia moet men het rechtstreeks in de game inbakken.
Letterlijk een gevalletje van whitelist / blacklist.

Het voordeel van de AMD methode is dat het ook werkt op oude games terwijl dat bij Nvidia absoluut niet mogelijk is omdat niemand een 15 jaar oude game gaat bijwerken.
Hoe kom je erbij dat de installaties van de games aangepast worden? Dit ging om frame data wat in het geheugen geladen werd.
Omdat het exact de reden is waarom anti-cheat er over viel.
Hiervoor worden dll-gamebestanden aangepast, wat door bepaalde anticheatsoftware als cheaten beschouwd wordt.
Bron
Tevens ook exact dezelfde wijze hoe Nvidia het doet maar bij Nvidia moet men het rechtstreeks in de game inbakken.
Het voordeel van de AMD methode is dat het ook werkt op oude games terwijl dat bij Nvidia absoluut niet mogelijk is omdat niemand een 15 jaar oude game gaat bijwerken.
Is het nu exact het zelfde of niet?

Volgens mij KAN het bij NVidia ook werken op die manier (bestanden vervangen) maar doen ze het niet. Ik kan mij namelijk ook herrineren dat je met het vervangen van meegeleverde dll's je nieuwere zaken kunt aanzetten.
Er wordt 1 of meerdere DLL bestanden aangepast en worden in het geheugen geladen. Er gebeurt helemaal niks met de DLL's van het installatie zelf.
Nvidia heeft al Streamline (https://developer.nvidia.com/rtx/streamline) wat rendering-API agnostisch is (en uiteraard primair DLSS target), maar deels vergelijkbaar. Kyle Bennett heeft recentelijk een stevig opiniestuk geschreven wat ook aangeeft wat hier mis mee is: https://hardocp.com/blog/the-streamline-is-a-lie

Bij DirectSR voor DirectX targets voel ik mij wel een stuk prettiger dan weer een half-gesloten Nvidia oplossing, maar voor cross-platform ontwikkeling of alternatieve rendering APIs is er nog niet echt iets anders.
Dan heb je het artikel niet gelezen
Windows mag ook even de focus op HDR leggen, het is al een stuk minder belabberd dan voor heen maar het slaat eigenlijk nergens op dat je een HDR expert moet zijn om een beetje fatsoenlijk beeld te krijgen.
Nu nog DirectRT voor raytracing. O+
Microsoft DXR was al uitgebracht voor de aankondiging van de Nvidia RTX kaarten. https://devblogs.microsof...osoft-directx-raytracing/

Op dit item kan niet meer gereageerd worden.