GamingMOREPCRSS PaginaDeMediaTECH

Jurnalul unui gamer: m-am jucat 3 jocuri cu NVIDIA RTX Ray Tracing!

MSI GeForce RTX 2080, the RayTracing machine
MSI GeForce RTX 2080, the RayTracing machine

NVIDIA RTX Ray Tracing, DLSS: tehnologii care au pus pe jar toți jucătorii  

Nu cred că a reușit vreodată o companie IT (în afară de Apple) să genereze atâtea discuții, misto-uri, flame-uri, troll-uri și topicuri pline de argumente pro și contra, legate de introducerea unei noi tehnologii pe piață. Eu vă spun sincer, nu îmi aduc aminte să fi văzut atâtea meme-uri câte s-au putut genera cu RTX ON/OFF. Iată unul mai jos, care mi s-a părut că punctează foarte bine problema:

O glumă semi-răutăcioasă, dar printre cele mai inofensive din zecile pe care le-am văzut. Evident, se ridiculizează excesul de zel cu care ni s-au prezentat reflexii in-game în ultima vreme.
O glumă semi-răutăcioasă, dar printre cele mai inofensive din zecile pe care le-am văzut. Evident, se ridiculizează excesul de zel cu care ni s-au prezentat reflexii in-game în ultima vreme.

Bine, dar asta e un lucru bun, nu? Adică dacă întreaga planetă a fost pusă pe jar, înseamnă că cel puțin nu ne-a lăsat indiferenți această tehnologie, nu? Bună, rea, tehnologia NVIDIA RTX a stârnit industria de gaming, și nu numai.

Foarte puțină istorie   

Un pas imens în lumea randării cât mai realiste a luminii și implicit a secvențelor 3D din jocuri a venit în 1999, când NVIDIA anunța noua placă video GeForce 256 ce avea engine hardware integrat pentru revoluționara tehnologie T&L – Transform & Lighting. 

Imagini preistorice (în industria IT 20 de ani chiar este o veșnicie):

T&L - Transform & Lighting - adevărata revoluție a început aici.
T&L – Transform & Lighting – adevărata revoluție a început aici.

A fost momentul T0 în care placa video – sau GPU (Graphics Processing Unit) a transmis mesajul procesorului (CPU) că preia de la acesta calculele avansate, unde devenea clar că procesorul principal avea reale probleme. Engine-ul Transform creștea numărul de poligoane iar engine-ul Lighting schimba obiectele în funcție de sursele de lumină. Evident, totul era foate rudimentar la momentul respectiv, dar fără acest moment nu am fi aici, acum, discutând de RTX.

Un alt moment foarte important (au mai fost și altele, dar și acesta este unul care rămâne în istorie) a fost apariția tehnologiei Volumetric Lighting, o tehnică folosită în grafica 3D pentru a adăuga efecte de iluminare unei scene randate. Tehnologia este mai recentă, din 2016, multe jocuri au implementată în prezent această tehnică de iluminare.

Volumetric Lighting
Volumetric Lighting

Un exemplu, Fallout 4, primul joc care a îmbrățișat tehnologia:

Volumetric Lighting în Fallout 4
Volumetric Lighting în Fallout 4

Cel mai des întâlnit exemplu de Volumetric Lighting ce îmi vine în minte este prezența razelor de lumină ce intră într-o încăpere printr-un geam deschis / transparent (numite și ”raze crepusculare”).

NVIDIA RTX Ray Tracing ON = dezvoltare de jocuri mai repede, mai simplu!

Evident, Ray Tracing exista cu mult înainte de momentul GeForce RTX. Dezvoltatorii iubesc RTX, pentru că funcționează așa cum trebuie. Mulți dintre voi probabil v-ați și jucat cu engine-uri de modelare 3D precum 3ds max, Maya, Blender, etc. Setezi lumina, așezi obiectele în scenă, randezi și voila, apare scena exact așa cum te-ai așteptat să iasă. Evident, acest proces nu se întâmpla în timp real, ci dura minute (sau zeci de minute) bune în funcție de complexitatea shadere-lor, câte reflexii de lumină se setau, etc.

În momentul de față, dezvoltatorii trebuie să creeze ”lightmap”-uri pentru orice, și vă vine să credeți sau nu, banalele bălți de pe podele, străzi înseamnă multă muncă.

Urmăriți materialul de mai jos, să vedeți ce însemna crearea manuală de lighmaps, fără Ray Tracing. Vă imaginați acum câtă muncă era în spatele unei scene de iluminare?

Ei bine, cu Ray Tracing lucrurile devin mult mai simple, ducând la timpi mult mai mici pentru a dezvolta un joc, însă cerințele de sistem cresc simțitor, așa cum vom vedea mai jos…

Două vorbe despre arhitectura Turing – RT Cores și Tensor Cores

Nu vreau să vă pierd cu detalii inutile, majoritatea suntem doar suntem gameri, nu dezvoltatori, așa că voi sublinia doar ce-i mai important la noile plăci video NVIDIA:

Turing vs Pascal - diferența majoră: RT și Tensor Cores la Turing, fără la Pascal.
Turing vs Pascal – diferența majoră: RT și Tensor Cores la Turing, fără la Pascal.

Vedeți liniile colorate cu verde și albastru? Acolo este noutatea care ne-a făcut jocurile mai frumoase și sau ne-a frustrat nopțile de gaming, depinde cum vedeți lucrurile.

Turing TU102 Full GPU cu 72 de unități SM (Streaming Multiprocessors)
Turing TU102 Full GPU cu 72 de unități SM (Streaming Multiprocessors)

RT cores așa cum probabil bănuiți, accelerează razele de lumină în timp real așa cum nu ați mai văzut înainte – DAR, cu o penalitate substanțială de performanță.

Dar vine Captain Hero DLSS și vă salvează ziua! Activați funcția și vă întoarceți la 60-70% din framerate-ul avut anterior activării RTX-ului. Ce ironie, cu o mână NVIDIA ne dă, cu alta ne ia :).   

Turing Tensor Cores sunt unitățile care sunt de vină pentru celebrul DLSS (nume pompos: Deep Learning Super Sampling). Pe scurt, acestea combină detalii din mai multe cadre pentru a recompune imagini chipurile high-quality. Spun chipurile pentru că oricât ar vrea NVIDIA să ne spună contrariul imaginea se degradează. Nu mult, dar o face. Nu ne coboară la nivelul imaginilor redate de o consolă, după cum unii mai critici decât mine o spun, dar degradarea există. Bine, dacă mă întrebați pe mine, nu e capăt de țară, prefer să activez funcția DLSS și să admir peisajul așa cum trebuia să fie randată, cu ajutorul Raytracing-ului, decât să dezactivez funcția RTX cu totul și să mă întorc la ce am avut până acuma, în momentul pre-RTX: Reflexii și iluminări FAKE, făcute ca scenele să PARĂ reale.   

Așa arată una din cele 72 de unițăți de procesare SM (Streaming Multiprocessors) dintr-un procesor TU102.
Așa arată una din cele 72 de unițăți de procesare SM (Streaming Multiprocessors) dintr-un procesor TU102.

NVIDIA RTX Ray Tracing și DLSS: ia să le vedem în jocuri! Părerea mea despre ele.

Primele jocuri care au reușit să implementeze tehnologia RTX sunt Metro Exodus și Battlefield V. Sunt multe jocuri care așteaptă să primească un patch, de exemplu, după ce mi s-au lungit urechile de când aștept după patch-ul RTX pentru Shadow of the Tombraider (eram gen: ”Are we there yet? NO.”), a apărut acum, chiar după ce finalizasem acest articol ..legea lui Murphy, nu? Așa că am mai întârziat un pic articolul să prind un pic și din implementarea RTX din Shadow of The Tombraider. 

Surpriza zilei: Quake II + RTX = LOVE

În timp ce scriam acest articol, NVIDIA a demonstrat la GDC 2019 RTX pe …Quake II. Da, ați citit bine, o versiune Quake II RTX. Bine, nu e chiar totul Raytracing acolo, au cam trișat un pic, deoarece efectele cu iluminarea din exterior, prin geamuri, spărtura din tavan, etc, sunt acele Good Old Volumetric Lighting de care vorbeam mai sus (o să vă arăt cele două imagini care demonstrează asta, respectiv a doua și a patra imagine imediat sub acest paragraf), dar am văzut și efecte de reflexii (oglinda aia care arată ca nuca în perete, dar da, efectul de wow este garantat) și iluminarea pe care o face la explozie globul de energie tras din celebrul BFG 10K. Sincer, a fost o surpriză plăcută, deși stiam de proiect, nu credeam că poate arăta atât de bine un joc care a fost lansat acum peste 20 de ani…ce amintiri…

Imaginea clasică: Global Illumination - atâta se putea face pe un procesor acum mai bine de 20 de ani.
Imaginea clasică: Global Illumination – atâta se putea face pe un procesor acum mai bine de 20 de ani.
Aceeași scenă, cu RTX. Titan Ice, altă viață.
Aceeași scenă, cu RTX. Titan Ice, altă viață.
Din nou, scenă clasică Quake II.
Din nou, scenă clasică Quake II.
Și un pic cu de toate: Volumetric Lighting, reflexii reale pe zonele acoperite cu metal.
Și un pic cu de toate: Volumetric Lighting, reflexii reale pe zonele acoperite cu metal.
Nu, nu este o ușă către o altă încăpere - este o oglindă în care se reflectă camera din spatele jucătorului. (Reflexii RayTracing)
Nu, nu este o ușă către o altă încăpere – este o oglindă în care se reflectă camera din spatele jucătorului. (Reflexii RayTracing)
Big, uh, freakin’ gun. Bine, în Doom Bible scria altfel, dar mă autocenzurez. Admirați iluminarea făcută de explozia sferei de energie.
Big, uh, freakin’ gun. Bine, în Doom Bible scria altfel, dar mă autocenzurez. Admirați iluminarea făcută de explozia sferei de energie.

1. Battlefield V RTX: explozii și reflexii spectaculoase.

Dar să începem cu lucruri mai concrete, ce deja sunt implementate și sunt pe piață. Voi începe cu Battlefield V. Mai jos, avem 3 imagini:

În primul cadru, secvență fără RTX activat – observați gheața mată. Nu arată rău, dacă nu știi cum ar trebui să arate. framerate: 128.

Secvență fără RTX activat - observați gheața mată. 128fps.
Secvență fără RTX activat – observați gheața mată. 128fps.

În al doilea cadru, mai jos, cu RTX activat, dar fără DLSS – apar reflexii reale, este o gheață udă pe alocuri, unde vă puteți opri o secundă să admirați peisajul. framerate: 60. Da. Ați citit bine, doar 48% din valoarea obținută fără RTX. Adică o penalitate de peste 50%! Scumpă gheața asta udă, domnule, cu reflexiile sale! 

RTX activat, dar fără DLSS - apar reflexii reale. Framerate: 60
RTX activat, dar fără DLSS – apar reflexii reale. Framerate: 60

Și finalmente, în al treilea cadru, RTX activat împreună cu DLSS. Framerate: 77. Îmbunătățire cu 28%. Hm…e bine, dar sunt convins că în viitor se va putea și mai bine. 

RTX activat împreună cu DLSS. Framerate: 77
RTX activat împreună cu DLSS. Framerate: 77

Pentru a vă face mai ușor o idee despre ce năzbâtii a făcut DLSS în cadru, am mărit o secvență  una lânga alta, pentru o mai ușoară comparație:

Stânga: RTX ON, DLSS OFF. În dreapta: RTX ON, DLSS ON.
Stânga: RTX ON, DLSS OFF. În dreapta: RTX ON, DLSS ON.

Vedeți cum totul a devenit mai blurat, mai ”ne-texturat”? Dar măcar avem reflexiile corecte…Vă dați seama, când sunteți în joc, diferențele nu se percep atât de mult, aici vorbim de cadru mărit pus lângă cadru mărit, pentru analiza teoretică a imaginii…în joc, nu veți resimți atât de mult degradarea texturilor, cel puțin nu când aveți acțiune rapidă la greu.

O altă secvență care scoate în evidență RayTracing-ul așa cum trebuie, mai jos:

RTX ON. Hey Look Ma, it's me! Reflexii corecte. FPS 55.
RTX ON. Hey Look Ma, it’s me! Reflexii corecte. FPS 55.
RTX OFF - adio reflexii- imagini parcă de acum 10-15 ani. FPS 144!
RTX OFF – adio reflexii- imagini parcă de acum 10-15 ani. FPS 144!

Am rămas mut când am văzut diferența. Este imensă – de la cer la pământ. Nu, nu m-am bucurat pentru că îmi văd imaginea de brav soldat, ci de avantajul că pot observa inamici furișându-se în spatele meu și am timp să reacționez. În imaginea fără RTX sticla e mată, ca în jocurile de acum 10 ani, pfff. Însă scăderea de framerate, atât de radicală, de la 144 la 55 de cadre (nu, n-am schimbat placa video, este acelasi 2080!) la o scenă atât de banală chiar trebuia să scadă framerate-ul de la 144 la 55 de cadre? Dar ce-au făcut core-urile acelea RT, au plecat la meeting de protest?

2. Metro Exodus RTX: o capodoperă vizuală.

Mă rog, dar haideți să mergem mai departe, la următorul joc: Metro Exodus, jocul care rămâne preferatul meu, trecând peste toate bug-urile din joc, și chiar și după drama de la finalul jocului în varianta cu Bad Ending, care a întristat enorm copilul din mine.

RTX OFF - iluminare FAKE.
RTX OFF – iluminare FAKE.
RTX ON: iluminare reală. imagini mai ...creepy.
RTX ON: iluminare reală. imagini mai …creepy.

După cum bine se vede, versiunea cu Raytracing ON crează o iluminare reală, umbre corecte, vii, acolo unde trebuie să apară. Totul devine mai sumbru, lanterna devine al doilea cel mai bun prieten al tău (după armă, firește). Dacă dezactivați RTX-ul, totul se iluminează artificial, în majoritatea situațiilor nu veți mai avea nevoie de lanternă (sus). Primele misiuni le-am jucat pe un GTX 1070Ti, după care m-am jucat pe un RTX 2080 pe cinste, și lucrurile s-au schimbat atât de mult!  

Dar să vedem și prețul plătit pentru frumusețea și realismul lucrurilor:

76fps-uri în Ultra, fără activarea RTX.
76fps-uri în Ultra, fără activarea RTX.
aprox 60 fps cu RTX ON, DLSS OFF.
aprox 60 fps cu RTX ON, DLSS OFF.

Bun, deci în Metro nu suntem la fel de penalizați că am îndrăznit să activez RTX-ul. (ON). O veste bună și un exemplu bun. Așa DA, RTX!

Chiar și în exterior se vede bine diferența. Lumina cade natural, obiectele nu sunt iluminate din toate părțile, haotic. Vezi unde e soarele, este clar unde trebuie să vezi o umbră și unde apare o iluminare în spatele unui obiect, unde nu te-ai aștepta la prima vedere: de exemplu pe spatele unui zid dacă acesta este aproape de peretele unei case. Firește, e lumină reflectată acolo, din casă, nu e bug de iluminare.  

RTX OFF - umbre mai mult inexistente, tufișul din dreapta este iluminat practic din toate direcțiile.
RTX OFF – umbre mai mult inexistente, tufișul din dreapta este iluminat practic din toate direcțiile.
RTX ON, comentariile sunt de prisos.
RTX ON, comentariile sunt aproape de prisos. Trunchiul de copac din dreptul armei, vegetația au iluminare corectă, în dreapta, în baracă e întuneric (nu e nici o lumină aprinsă acolo, e normal să arate așa, nu ca în imaginea de sus)

Sincer, nu m-aș mai întoarce niciodată la setarea RTX OFF, nu într-un joc în care RayTracing-ul este atât de bine implementat ca în Metro Exodus. Frica va reveni, te va vizita, va sta în ceafa ta, și jocul va redeveni mai întunecat, și la propriu, dar mai ales, la figurat.

3. Shadow of the Tomb Raider. Umbrele din Umbrele războinicei TR

Cea mai proaspătă implementare a tehnologiei RTX a apărut în Shadow of the Tomb Raider și vă pot spune că aici lucrurile nu sunt chiar atât de evidente precum la jocurile anterioare.  Dezvoltatorii au optat să optimizeze umbrele, comportamentul lor în funcție de iluminare (de tip spot, lumini direcționale), înclocuind clasicele ”shadow maps”.  Pe modul Ultra RTX, modul folosit de mine în joc, umbrele devin translucide, se adaugă raze suplimentare, rezultând umbre reale, dar cu un tribut mare plătit la capitolul performanță (68 pfs în imginea de mai jos – rezoluție 2K, totul pe ultra).  

RTX ON: sursa puternică de lumină din mâna copilului generează în timp real umbre corecte.
RTX ON: sursa puternică de lumină din mâna copilului generează în timp real umbre corecte.

În imaginea de mai jos, secvență cu setarea RTX Off, cu umbre clasice (setate pe Ultra, deși nu par) : framerate mare, dar umbra dinamică a copilului și a stâlpului aflat în dreptul său au dispărut complet, chiar dacă copilul are o sursă puternică de lumină în mână. Da, iar ne-am întors în timp, fără RTX…

RTX OFF: umbre OFF
RTX OFF: umbre OFF

Concluzie

Merită RTX? DA. Absolut, acum, și mai ales, peste câțiva ani, sunt convins că va fi un standard. Merită DLSS? Așa-și-așa, dacă framerate-ul plăcii voastre a scăzut sub 30-40 de cadre/sec, da. Dacă aveți o placă video potentă (Lucky You), precum placa asta: ce vă oferă peste 60cadre/sec, puteți uita de DLSS pentru moment. Oricum, următoarele plăci video vor avea cu siguranță mai multe unități RT de procesare a razelor de lumină, probabil va mai avansa și tehnologia DLSS și saga către realism continuă.

A, și ca și încheiere: am văzut că NVIDIA tocmai a anunțat că plăcile video din seria Pascal vor avea suport pentru Real Time Ray Tracing…coincidență sau nu, cu 3 zile înainte de acest anunț Crytek a rulat pe un AMD Radeon RX Vega 56 demo-ul Noir, un demo Ray Tracing bazat pe engine-ul CRYENGINE, și în care am văzut apelarea masivă la Ray Tracing , în special pe partea de reflexii. Da, deci se va putea și fără RTX…DAR (și aici fac o paranteză: eu sunt Toma Necredinciosul – până nu văd, nu cred) părerea mea, strict personală este să nu vă îmbătați de bucurie cu apă plată: fără RT Cores se pot face software reflexii RT corecte, dar de aici și până la iluminare globală corectă în timp real este drum lung. Mult succes la frame-rate!  

Dacă aveți timp, vă invit să studiați mai în amănunt whitePaper-ul de la NVIDIA, în care aveți și mai multe date legate de performanța Ray Tracing a arhitecturilor Turing Vs Pascal. Pascal poate prelucra Software, aproximativ 1,1 Giga Rays/sec, Turing poate prelucra Hardware 10+ Giga Rays/sec, folosind RT Core-urile. Deci avem o viteză de procesare 10:1 în favoarea generației RTX!

 

Articole asemanatoare

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Back to top button