Nvidia komt met plug-ins voor gemakkelijker implementeren DLSS 3 in games

Nvidia brengt binnenkort plug-ins uit waarmee ontwikkelaars gemakkelijker DLSS 3 Frame Generation kunnen toevoegen aan hun games. De feature komt beschikbaar voor Unreal Engine 5.2 en via de Nvidia Streamline-framework. DLSS 3 komt ook naar een aantal nieuwe games.

Nvidia schrijft dat zijn DLSS 3-plug-in voor Unreal Engine 5.2 tijdens de GDC wordt gedebuteerd. Die conferentie voor gameontwikkelaars vindt plaats in de week van 20 maart. Epic Games hintte eerder al op de komst van Unreal Engine 5.2 tijdens de GDC. De add-on moet ontwikkelaars die die engineversie gebruiken in staat stellen om de feature direct te implementeren in hun titels. Nvidia introduceerde eerder al DLSS 2-plug-ins voor Unreal Engine.

DLSS 3 komt ook beschikbaar via Nvidia Streamline, een framework waarmee ontwikkelaars gemakkelijker upscaling kunnen toevoegen aan hun games. Streamline zit tussen de game-engine en api's als DirectX en Vulkan en moet het makkelijker maken om technieken als DLSS te implementeren. Verder wordt DLSS 3 toegevoegd aan verschillende games. Op 28 maart verschijnt de functie via een update voor de pc-versie van Forza Horizon 5. Ook de pc-versies van Redfall en Diablo IV krijgen de functie geïntegreerd wanneer die games uitkomen, respectievelijk op 2 mei en 6 juni.

Nvidia kondigde DLSS 3 vorig jaar in september aan. Deze functie biedt net als DLSS 2 upscaling, waarmee een game op lagere resolutie wordt gerenderd en vervolgens wordt opgeschaald. Dat moet zorgen voor hogere framerates met minimaal kwaliteitsverlies. Nieuws is echter DLSS Frame Generation, waarmee 'nieuwe' frames worden geïnterpoleerd op RTX 40-videokaarten. Tweakers schreef eerder achtergrondverhalen over de werking van upscalingtechnieken als DLSS en over de werking van DLSS Frame Generation.

Nvidia DLSS 3.0
Nvidia DLSS 3 werkt door 'gewone' frames af te wisselen met frames die met AI worden geïnterpoleerd

Door Daan van Monsjou

Nieuwsredacteur

17-03-2023 • 17:35

36

Reacties (36)

36
36
6
4
0
27
Wijzig sortering
Ik heb toevallig vorige week DLSS3 in een VR-project in Unreal Engine 5.1.1 geimplementeerd. Dat was een fluitje van een cent: een mapje naar plugins kopieren en dan een blueprint maken met 1 stap (enable DLSS). Eventueel nog een check of het systeem DLSS ondersteund, dus 2 stappen.

Ik kan me haast niet voorstellen dat het nog makkelijker kan maar prima als dat zo is.

edit: Ok toegegeven: in een echte release zou je de gebruiker de instellingen willen kunnen laten tunen (hoeveel downscaling, balans van kwaliteit vs performance), dat kost wel wat meer werk bij de versie die ik gebruikte. Misschien dat dat ook simpeler wordt.

[Reactie gewijzigd door Menesis op 27 juli 2024 08:52]

Ik dacht dat DLSS3 niet ondersteund of zelfs afgeraden werd voor VR projecten? Vanwege de hoge latency (het moet immers beide frames helemaal binnen hebben voor het het tussenliggende frame kan gaan maken).

Heb je hier dan geen last van in je project?

Ik maak zelf VR met Unity maar vooral voor Quest dus DLSS is sowieso geen optie. Maar ik ben wel benieuwd omdat het het performance probleem wel deels op kan lossen.

[Reactie gewijzigd door GekkePrutser op 27 juli 2024 08:52]

Ik gebruik de upscaling functie, geen interpolatie. Maar ook interpolatie (predictive) is prima voor VR. Zie bijv ook Meta’s technologie daarvoor:
https://developer.oculus....ng-application-spacewarp/
Hmja ASW werkt iets anders, het gebruikt niet het volgende frame om het tussenliggende frame te berekenen, alleen het vorige. Juist vanwege de latency.

DLSS 3 doet dat wel voor een beter resultaat. Maar dus wel met de tradeoff van meer latency. Ik had ergens een link waarin werd gezegd dat het niet voor VR bedoeld/ondersteudn werd. Moet ik even opzoeken.

Maar als je alleen upscaled dan snap ik het idd.

Maar met DLSS 2 moest je voor upscaling je hele game uitgebreid trainen op een hele grote cloud farm. Dat hoeft nu dus niet meer?

[Reactie gewijzigd door GekkePrutser op 27 juli 2024 08:52]

Dus de implementatie van DLSS 3 is veel makkelijker vergeleken met die van DLSS 2.

Als dit gaat betekenen dat ontwikkelaars nu enkel DLSS3 gaan implementeren is dat flink balen voor bezitters van de vorige generaties Nvidia-kaarten...Ik hoop dat dat niet gebeurt, maar aan de andere kant ben ik er wel bang voor dat dit onze toekomst wordt. Er zullen heel veel ontwikkelaars zijn die support voor DLSS 2 EN DLSS 3 te veel moeite zullen vinden ... :(
AuteurAverageNL Nieuwsredacteur @ymmv17 maart 2023 18:21
DLSS 3 bestaat uit twee onderdelen: Super Resolution en Frame Generation. Die eerste is in feite DLSS 2 en wordt gewoon ondersteund door RTX 20- en RTX 30-gpu's :)

Zie ook deze afbeelding uit een blogpost van Nvidia voor info over hoe het precies zit met DLSS 3-ondersteuning op gpu's

[Reactie gewijzigd door AverageNL op 27 juli 2024 08:52]

Danku voor deze geruststelling. Wat @ymmv schrijft was ik me in de loop van de week ook aant afvragen.
Sorry, maar is dit niet een beetje zoals hoe USB 3 gedoopt werd tot USB 3.2 gen 1?

Het enige nieuwe in DLSS3 is de frame interpolatie, beweren dat DLSS3 meer inhoud, namelijk de nieuwe freame interpolatie plus de oude bekende DLSS2.1 super resolutie is in mijn ogen echt een beetje misleiding door nvidia hun marketing departement. Dan kunnen ze beweren dat DLSS3 ook werkt op oude gpus, terwijl die oude gpus helemaal geen nieuwe features kregen: wat vroeger gewoon DLSS2 genoemd werd is nu zogezegd DLSS3.
De nieuwe features komen volgens mij rumored ter zijner tijd ook gewoon naar de 20* en 30*. Dus volgens mij is het sowieso gewoon pure marketing.
Maar de hardware acceleratie mist. Dat is dan net zo nuttig als de ondersteuning van RTX op de 10XX serie. Ja het werkte wel maar het was een diashow als je het op een normale resolutie wou draaien.
Als Microsoft een nieuwe versie van Office uitbrengt met enkele nieuwe features, verwacht je dan dat alles wat in de vorige versie van Word ook nog steeds werkt?..
Je vult de analogie slecht in:

Als Microsoft Office 2023 uitbrengt, en jij hebt office 2022 gekocht, heb jij dan plots office 2023, enkel omdat een deel van de features overeen komen, terwijl je niets van de nieuwe functies hebt?
Dan noemen we het Office 365 en dan hebben we ineens altijd de laatste versie.
Leuk ontwijkend antwoord, maar jij kwam dus met de analogie van nieuwe office versies, best flauw dus.
Nee, je probeert een gat in een analogie te prikken wat nutteloos is want je snapt prima welk punt ik probeerde te maken.
Iedereen die DLSS 2 kon gebruiken, krijgt exact hetzelfde resultaat als een ontwikkelaar alleen DLSS 3 implementeert.
Ik snap prima welk punt je probeert te maken, ik wijs gewoon op het feit dat je daar keihard in faalt :+

Als jij denkt dat backwards compatibiliteit het essentiële lint is dat dit klantwnbedeog ok maakt: toen USB 3 uitkwam en backwards compatible was met USB 2 noemden we ook niet plots alle USB2 poorten USB3.

Jouw vergelijking blijft dus mank, wat nvidia hier doet is letterlijk oude wijn in nieuwe zakken om te verbloemen dat DLSS3 niet werkt op oude gpus.

[Reactie gewijzigd door kiang op 27 juli 2024 08:52]

Omdat een USB poort in jouw PC niet fysiek is verandert met de komst van USB 3.

De game echter implementeert alleen DLSS 3, niet 2. En die versie 3 kan voor een groot deel exact hetzelfde als versie 2, plus wat extras. Ik snap niet waarom dat zo moeilijk is te begrijpen.
Oh, dat de game DLSS3 is betwist ik niet, als hij maar frame interpolatie heeft, net zoals een usb 3 stick echt een USB3 stick is, als de stick maar die hogere snelheden (deels) kan halen.

Maar net zoals een USB2 poort geen USB3 poort is, ook al werkt een USB3 stick er wel in, en net zoals Office 2019 geen Office 2021 is, ook al werken de files gemaakt met Office 2021 perfect in 2019, zo hebben RTX3000 en RTX2000 kaarten geen DLSS3 ondersteuning, ookal werken DLSS3 games wel op die kaart.

En een game met enkel DLSS2 features en geen frame interpolatie is geen DLSS3 game: dat is gewoon DLSS2.

[Reactie gewijzigd door kiang op 27 juli 2024 08:52]

Dat is wel waar Nvidia op hoopt natuurlijk. Ik gun elk bedrijf z'n winst, maar in een markt met relatief weinig competitie dat uitknijperige gedrag vertonen irriteert me mateloos.
Vsync aankunnen zetten met extra frame generation .. dat is waar ik persoonlijk nog op wacht. Maar of we dat ooit krijgen...
Waarom zou je vsync willen als we tegenwoordig Gsync, Freesync en Fast Sync hebben..
Ik he G-sync aan. Maar toch gaan de FPS RETEN hoog boven de 144hz, en dat is dus onnodig. Dus als je frame generation aanzet, staat V-sync uit in de game en capt de game niet op 144 maar gaat hoger wat een voor issues kan zorgen bij bepaalde games.
Als je geen enkele vorm van vertical sync aan hebt staan en je gaat boven de Hz van je monitor dan krijg je nog steeds tearing, of frame hitching (omdat je een frame dropt), al maakt dat tweede minder uit op heel hoge framerates. Persoonlijk zou ik nog steeds gelijkmatige frame pacing boven zo hoog mogelijke frames verkiezen.
Nee. Ik wil zo veel mogelijk fps op 4K. Ding wat dus gebeurt met extra frame generation is dat in de game.vsync uit gaat en je daar dus niet van kan profiteren. Maar blijkbaar kun je in het control panel van Nvidia de vsync permanent instellen.
Ingame wil je ook i.c.m. gsync vsync uit hebben staan.

Optimale setting i.c.m. gsync.

1. Frame cap -3 fps o.b.v. monitor refresh rate. Dus 144 is max frame cap 141 fps.
2. Vsync ingame uit en aan in Nvidia Control Panel.

Daarnaast kan je ook gewoon reflex inschakelen + boost.

Vsync wil je eigenlijk nooit aan hebben staan in games. Het geeft de ergste latency.
Hmm dat is voor het eerst dat ik dit hoor, en lijkt me eigenlijk sterk. Naar mijn weten werkt G-sync al Wanner je het simpel weg aanzet in de Nvidia control panel.
Volgens mij begrijp je niet helemaal wat ik probeer aan te geven.

Ja gsync aanzetten is 1, gsync optimaliseren is 2.

Als je fps boven de monitor refresh rate gaat wordt gsync uitgeschakeld. Door een framecap wordt gsync in alle omstandigheden aangelaten.

Als je Nvidia Reflex + Boost aanzet zal je ook zien dat er een framecap van 5 fps onder de monitor refresh rate is ingesteld.

Vsync wordt uitgeschakeld omdat Nvidia Reflex wordt ingeschakeld. Je wilt eigenlijk nooit vsync ingame ingeschakeld hebben, het blijft ook best raar dat de meeste games default vsync aan hebben staan. Het is verreweg de slechtste optie met aanzienlijke latency.

[Reactie gewijzigd door marco-ruijter op 27 juli 2024 08:52]

Aha nu snap ik hem. Heb het getest nu net. In Nvdiia control panel de max fps ipv op 144 op 139 gezet om te testen, toen een game gestart en extra frame gen aangezet, en geen tearing te zien :D
Jup heerlijk toch!

https://blurbusters.com/g...ag-tests-and-settings/14/

Site vol met informatie en ook een optimale settings guide welke settings en vooral waarom je ze aan en uit moet zetten.
Nou ja, we hebben helaas wel N‘Sync verloren.
Als je dit in het nvidia control panel als (specifiek) globale instelling aanzet dan werkt het. In game settings of in 3d instellingen werkt het inderdaad niet. Success en veel plezier, heb er zelf ook even mee zitten tobben!
Ow serieus? Dus als ik in de Nvidia control panel in global vsync aanzet, dan blijft de cap actief ongeacht extra frame generation??
Wat ik nog steeds niet helemaal snap aan die frame generation..
Je moet hierbij toch gaan vergelijken tussen 2 frames, wat het verschil daar tussen is en wat er dan ongeveer tussen hoort te komen. Kun je dan niet gewoon beter die rekenkracht gebruiken om een echte frame te berekenen in plaats van er eentje extra "te gokken" ?

De techniek zal met de tijd vast beter worden maar bij de voorbeelden die ik heb gezien zaten soms toch echt wel rare artifacts, zeker bij sneller bewegende beelden waarbij er juist details verdwenen.

Persoonlijk zou ik liever 80 echte frames hebben ipv 130 waarvan er 50 gegokt zijn die ook nog eens voor afwijkingen kunnen zorgen.
Er zit inderdaad wat overhead voor het interpoleren, maar dat is minder dan een echt frame berekenen. Zie linkje hieronder ook.
Overigens is het niet zomaar even interpoleren. Vaak gebruikt men motion vectors en een dieptebuffer om voor elke pixel te bepalen waar die naartoe gaat. Oculus Meta heeft dat al een jaar of twee in de vorm van Application Space Warp. Erg mooie techniek. Alleen werkt het niet zo goed voor snelle bewegingen die je niet kunt voorspellen, en bij VR zijn dit nu toevallig de dingen die je vaak vasthoudt zoals lichtwaarden of gewoon de visualisatie van de controllers/handen..

[Reactie gewijzigd door Menesis op 27 juli 2024 08:52]

Over de zin - en onzin van DLSS

RTX 4080 gebruiker hier:

In the Witcher 3 heb ik tot nu toe continu DLSS3 aangehad tot deze week. Door een patch (4.02.) werkt het plots niet meer en zorgt voor een game crash na 5 min spelen. Dan dus maar verder zonder. Draait nog steeds supervloeiend met alles up ultra op mijn 42" ultrawide. Is bijna 4K resolutie.

Wat mij nu echter opvalt is dat de GPU harder moet werken, en dus meer stroom verbruikt. Verder, omdat kennelijk (wat ik nu leer) alle frames rendert en het er enorm scherp uit ziet. Eigenlijk net gewoon te scherp. De DLSS maakte alles net een fractie zachter wat alles natuurlijker deed ogen. Zal uiteraard niet gelden voor alle games, maar ik hoop dat ze zorgen dat ik deze frame generation wel weer aan kan zetten. Het zal schelen in energiegebruik, en het spel zal (onbedoeld door de ontwikkelaars) iets natuurlijker ogen, al is dat natuurlijk een mening ;).

In ieder geval, ik denk dat het een mooie ontwikkeling is, al is het jammer dat prima kaarten van de vorige generatie het niet vol kunnen benutten.
Weet je zeker dat je nu niet gewoon minder anti-aliasing hebt waardoor het er minder mooi uit ziet? Hierdoor zie je individuele pixel overgangen een stuk meer namelijk.

Op dit item kan niet meer gereageerd worden.