Jump to content
Sign in to follow this  
Manifredde

nVidia RTX e raytracing

Recommended Posts

Forse qualcuno di quelli che seguono il mondo dei videogiochi avrá anche seguito la vicenda di RTX e dell'introduzione, da parte di DirectX e nVidia, di una api raytracing da usare nei videogiochi, e di apposite componenti all'interno della nuova architettura nVidia per supportare l'api via hardware.

Sembra che il pubblico si sia diviso in 2: quelli che non considerano la novitá tanto importante da generare questo trambusto, e che vedono il prezzo esorbitante e il dimezzamento delle prestazioni ingiustificato, e quelli che salutano il RT come il primo, ma importantissimo, passo, per iniziare a sdoganare l'industria dalla rasterizzazione, che per raggiungere i risultati che vediamo oggi ha richiesto 20 anni di "trucchi" e una complessitá del codice ormai ingestibile.

 

Sarei interessato a sapere se qualcuno qui ha una opinione al riguardo. Io, intanto, dico la mia.

 

La rasterizzazione, intesa come insieme di tecniche di rendering, ha un vantaggio enorme rispetto a molte altre (raytracing, pathtracing etc): scala benissimo verso il basso. Dai giochi come quake, con una illiúminazione statica per l'ambiente e una illuminazione dinamica per le entitá, ma calcolata solo per i vertici dei poligoni, alle cose incredibili che vediamo oggi, c'é un numero infinito di livelli intermedi. Se prendere, ad esempio, Crysis che non andava su nessun pc dell'epoca, e lo mettete a impostazioni grafiche minime, va praticamente ovunque.

 

Il raytracing, al contrario, ha bisogno di una quantitá di potenza minima per gestire l'enorme mole di calcoli che deve fare: pur con tutte le ottimizzazioni, la richiesta é alta.

 

La storia non finisce qui, peró. Se invece delle prestazioni consideriamo la qualitá grafica, la cosa si inverte: la rasterizzazione scala male verso l'alto: ci sono una innumerevole quantitá di effetti grafici "base" (riflessioni, trasparenze, ombre, etc) che richiedono una valanga di trucchi per essere implementate nei giochi moderni, e anche nella loro forma migliore, sono sempre delle mediocri approssimazioni.

Al contrario, il raytracing offre un modo di gestire molti di questi effetti "out of the box", semplicemente generando nuovi raggi. Questo significa che, per avere ombre migliori, basta sparare il doppio dei raggi. Per avere riflessi "sfocati" basta sparare piú raggi. Etc. Sulla carta, per migliorare la qualitá grafica, un motore grafico non dovrebbe fare altro che "stare nel loop" piú a lungo.

Ho avuto modo di apprezzare l'estrema eleganza del raytracing implementandone uno io stesso per divertimento una decina di anni fa (http://cygnusxone.altervista.org/blog/).

La cosa interessante, é che una volta che tu hai il raytracing in funzione sull'hardware della GPU, hai sostanzialmente aperto la strada verso il realismo assoluto: arriverá tra 10 anni, forse 15, forse 20, ma non hai bisogno di tante nuove "tecniche", solo di piú teraflops. E questa é una cosa che con la rasterizzazione, semplicemente, non é possibile a causa dei limiti di questa tecnica.

 

Applaudo con sollievo a questa novitá di nVidia, attesa nel settore da anni ma di cui tutti, comprensibilmente, avevano un pó di timore. Dal punto di vista dei videogiochi, questa potrebbe essere la piú grande rivoluzione dai tempi dell'introduzione delle "schede accelleratrici", superando in importanza forse anche gli shader programmabili che hanno trasformato i videogame agli inizi degli anni 2000.

Mi sorprendo un pó nel vedere tutto questo scetticismo, e non capisco onestamente come si possano preferire i "4k a 60fps" rispetto a un modello di rendering che potenzialmente puó portare a risultati fotorealistici. Spero che questo non freni il cambiamento, e che AMD segua a ruota: poiché, infatti, lo scopo finale sará quello di sostituire la rasterizzazione, una volta che saremo pronti a farlo, non possiamo chiedere agli sviluppatori di mantenere 2 motori: raytracing per nVidia e rasterizzazione per tutti gli altri.

 

Sará anche interessante, a questo proposito, sapere se la novitá modifica i piani di Intel per le loro soluzioni grafiche, previste se non sbaglio intorno al 2020.

 

Voi cosa ne pensate?

 

Share this post


Link to post
Share on other sites

Le console potrebbero essere fondamentali nel decidere la sorte dell'RT:potrebbero, ad esempio, decidere che RT sará ció su cui punteranno il marketing, spingendo gli sviluppatori e trainando di conseguenza il mercato delle schede discrete.

Potrebbero, al contrario, decidere che non é importante, non ancora per lo meno, azzoppando cosí anche il mercato dei pc.

Inoltre, AMD non ha ancora chiarito i propri piani nei confronti dell'RT e poiché sia Playstation che XBox montano grafica AMD, sará da capire come si muoveranno Sony e MS.

Share this post


Link to post
Share on other sites

Ti riporto parte del l'articolo uscito qualche settimana fa su multiplayer.it

 

Partiamo da PlayStation 5 , al centro di rumor piuttosto credibili che vedono la console basata sul binomio tra CPU Ryzen e architettura grafica Navi . Le CPU AMD sono inferiori alle soluzioni top gamma Intel in quanto a istruzioni per clock e frequenze massime, ma garantiscono potenza bruta, buona efficienza, risparmio economico e framerate stabili. A tutto questo dovrebbero aggiungersi i meriti di Navi, un'architettura che il Radeon Group, secondo i rumor, avrebbe sviluppato collaborando strettamente con Sony, proprio per fornire un chip a 7 nanometri perfetto per le esigenze di PlayStation 5. Esigenze che ci aspettiamo includano il4K senza compromessi , ovvero con tutti i filtri immaginabili e senza tecnologie di upscaling, con 60 frame per secondo costanti negli sparatutto e nei racing. Inoltre confidiamo nel supporto per i 120Hz, già disponibili con Xbox One, che permetteranno, con risoluzioni inferiori o motori meno impegnativi, di utilizzare i nuovi pannelli 4K con refresh rate elevato. Sfruttarli a pieno, sia chiaro, sarà dura, ma le nuove console dovrebbero essere piuttosto potenti. Secondo Timothy Lottes di AMD servono almeno 7.4TFLOPper gestire il 4K reale a 30 frame inchiodati, mentre PlayStation 4 Pro si ferma 4.2 e Xbox One X a 6, ma siamo sicuri che sia la GPU Navi di PlayStation 5 che quella di Xbox Scarlett garantiranno una potenza maggiore, anche se lo scarto rispetto alle console intergenerazionali, uscite da poco, non sarà certo paragonabile a quello a cui eravamo abituati quando tra una generazione e l'altra passavano sei o sette anni. Salto che tra l'altro si è gradualmente ridotto con il crescere della complessità dei gioco e con l'alzarsi dei costi, ma, sempre che l'uscita sia davvero fissata per il 2020, ci aspettiamo di vedere qualcosa che parta da un minimo di una GeForce GTX 1080 o di una RX Vega 64 per arrivare alla potenza stimata di una GeForce GTX 1170, ovvero una capacità di calcolo di circa 10TFLOP . Una potenza del genere, combinata con l'ottimizzazione delle console, dovrebbe garantire prestazioni in 4K eccellenti con tutti i motori in circolazione, consentendo alle console, che senza dubbio saranno dotate delle ultime tecnologie per compensare latenze e distribuzione dei frame, di tenere il passo con il gaming su PC che tra breve accoglierà le nuove GeForce e durante il 2019, dopo le versioni Vega a 7 nanometri, delle schede basate proprio sull'architettura Navi che dovremmo ritrovare nella PlayStation 5. E tra le specifiche troveremo probabilmente anche memorie GDDR6 necessarie per mantenere i costi contenuti e quasi confermate su Scarlett vista l'assunzione da parte di Microsoft di un ingegnere specializzato in questa memoria, per una soluzione grafica di nuova generazione pensata appositamente per la console. Ma non sappiamo se la filosofia sarà la medesima di Xbox One X, che è basata su un SoC sviluppato assieme ad AMD, o se la rivoluzione Xbox di Spencer ci riserverà sorprese anche su questo versante

Share this post


Link to post
Share on other sites

Nessun accenno all'RT :huh:

Vediamo. L'accoglienza da parte del pubblico é stata freddissima se non ostile, ma tra gli addetti ai lavori (cioé gli sviluppatori) sembra esserci un certo entusiasmo. Vediamo se questo basterá.

A memoria la 2080 raggiunge i 14 teraflops in singola precisione, quindi i 10 dell'articolo da te citato non sono comunque chissá che. Come sempre, le console monteranno GPU meno potenti delle high-end discrete, e conteranno sull'ottimizzazione, ma siccome ho letto che la data di lancio prevista per la playstation 5 pare essere tardo 2020 o addirittura 2021, ci passano qualcosa come 3 generazioni di schede.

Mi domando se i prossimi 2 anni possano essere sufficienti per introdurre l'RT anche sull'architettura che andrá ad alimentare le next-gen: ora il target é 4k, ma se l'RT sfondasse, sarebbe azzardato far uscire le next-gen senza la "tecnologia del momento".

 

Credo che molto dipenderá dalla risposta di AMD (che a sua volta dipenderá dalla risposta del pubblico, almeno in parte).

Share this post


Link to post
Share on other sites

al pubblico è arrivato il seguente messaggio

"arriva sta nuova tecnologia che in cambio di una montagna di calcoli ti calcola la luce in un altro modo"

" mmm ok tanto basta che c'ho il grafic..."

"ah però costa il doppio!"

" !$!%"%!£"|£ gomblotto, vogliono solo spennarci!"

 

A me sembra un po' la dinamica dei caschetti virtuali: roba percepita come solo per early adopter, si sa che sfonderà prima o poi ma potrebbe essere domani oppure tra 10 anni, nel frattempo gli investimenti potranno salire, calare, colare a picco ... boh! E' importante che nessuno si bruci troppo gli investimenti messi in campo, sennò come per i caschetti il discorso si rimanderà sempre a "fra 5 anni ci sarà il boom".

 

Oggi la gente vuole i 4K 60fps, magari giocati su un HDready upscalato checkerboardato :D

 

 

Share this post


Link to post
Share on other sites
Cita

A me sembra un po' la dinamica dei caschetti virtuali: roba percepita come solo per early adopter, si sa che sfonderà prima o poi ma potrebbe essere domani oppure tra 10 anni

 

Si é anche fatto il parallelismo con PhysX. Io spero che non sia questo il casi per il raytracing. Non deve esserlo per forza: passare all'rt non é una cosa "in piú" ma il percorso evolutivo naturale, procrastinato per anni per via delle richieste del mercato che predilegevano l'alta risoluzione (piú problematica con il RT che con la rasterizzazione) e per via delle necessitá di mantenere la retrocompatibilitá. Infatti solo una piccola porzione delle nuove RTX é dedicata a questo, ecco perché le prestazioni sono tutto sommato mediocri.

Ma, appunto, la fine di PhysX e realtá virtuale non é inevitabile (il raytracing viene fornito incluso nelle GPU e non é richiesta l'adozione di hw speciale) ma chiaramente tutto dipenderá dalla disponibilitá di giochi che la supportano. Gli sviluppatori passerebbero al volo all'RT (per i motivi descritti prima) ma c'é da considerare quell'80% di pubblico che al momento NON ha RT disponibile. Intel ha un paio di anni per ripensare alla sua nuova architettura grafica, ma AMD deve muoversi piú rapidamente. Forza AMD!

(anche perché il mio piano sarebbe comprare un nuovo pc da gioco quando trasloco nel nuovo appartamento, cioé fine 2019 - inizio 2020, e non mi dispiacerebbe avere il raytracing a prezzi ragionevoli per allora :cool2:)

Share this post


Link to post
Share on other sites

Ho visto una presentazione di Epic riguardo all'integrazione di RTX nell'Unreal Engine. Una cosa che mi ha sorpreso parecchio é stata vedere la grandissima integrazione con la rasterizzazione: si puó passare istantaneamente da ombre classiche a ombre RT, da riflessi classici a riflessi RT, anche se una luce é renderizzata con RT, in un eventuale riflesso in uno specchio, quella stessa luce é renderizzata in maniera classica per questioni di ottimizzazione. Questo (e altre opzioni che sono state illustrate) offre spazio ad un ampio range di livelli di qualitá e prestazioni, agevolando cosí l'introduzione (immagino, ad esempio, un caso in cui il giocatore possa scegliere quante luci renderizzare cosí e quante alla vecchia maniera, in base all'hw e agli fps che desidera mantenere).

 

Sono state mostrate alcune interessanti funzionalitá, come luci rettangolari (anche texturizzate) etc. É stato sottolineato come in alcuni scenari non favorevoli alla rasterizzazione, il raytracing puó addirittura fornire un miglioramento prestazionale, e che a differenza dei metodi classici, non c'é una "distanza limite" a cui possono essere generate le ombre. Quest'ultimo punto non é stato approfondito, ma é molto interessante visti gli Open worlds che vanno tanto di moda oggi: per renderizzare le ombre, al momento, si usano le shadow maps. Siccome queste hanno una risoluzione limitata (come una texture), o fai ombre di qualitá ma con un range di distanza limitato, o copri una superficie piú vasta ma la risoluzione diminuisce (come "zoomare" una immagine). Per ovviare a ció, i giochi alle volte usano cose come cascade sm: vengono renderizzate piú shadow maps, che coprono aree sempre piú grandi. Ovviamente, l'uso di memoria puó crescere molto, potresti dover comunque limitare il range e potresti avere problemi a artifatti dovuti all'aliasing delle sm.

Con ombre in RT, questi problemi non ci sono: range illimitato, sempre alla "massima risoluzione".

 

Considerando che questa é la primissima generazione a implementare RTX, mi pare che non ci si possa assolutamente lamentare dei risultati.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...