Kiirte jälgimine vs kiirendatud renderdamine - selgitatud

Pärast Nvidia GPU-de perekonna Turing käivitamist 2018. aastal nägi mängumaailm hüppeliselt suurenenud arutelus funktsiooni üle, mis on tuntud kui 'Ray Tracing'. Nvidia tollal uhiuus graafikakaartide seeria „RTX” tõi mängudes toe nn reaalajas kiirete jälgimiseks. Enamik inimesi ei olnud kindel, mis see uus funktsioon on ja miks Nvidia seda nii tugevalt surus, kuid olid samal ajal põnevil ja huvitatud tehnoloogiast. Ray Tracing oli Nvidia sõnul nii suur punkt, et nad pidasid vajalikuks panna see otse turule toodud toodete nimesse. Uus GeForce “RTX” kaardiseeria asendas vanema “GTX” sordi, kui see jõudis parimate SKU-de hulka, nagu näiteks 60,70,80 ja -80Ti SKU-d, mille Nvidia tavaliselt välja annab.



Nvidia GeForce RTX 3080 on üks kiiremaid kiirkaardi toetavaid graafikakaarte - Pilt: Nvidia

Nvidia RTX 2000 graafikakaartide seeria tõi kaasa mitmeid riistvaralisi muudatusi, mis võimaldasid mängudes Ray Tracing'i tuge. Uued Turingil põhinevad graafikakaardid pakendasid sellesse spetsiaalset südamikku, mis oli pühendatud sellele protsessile ja mida tunti kui RT südamikke. RT-tuumade eesmärk oli käsitleda konkreetselt kogu graafilist arvutust, mis oli vajalik reaalajas kiirte jälgimise võimaldamiseks mängudes. Nvidia täiendas kaarte ka täiendavate CUDA tuumadega, et suurendada kaartide toorest võimsust, lisades samas ka uue südamike komplekti, mida tuntakse nimega Tensor Core. Need tuumad pidid aitama süvaõppes ja tehisintellektides, näiteks uue vormi suurendamise tehnikas, mis on tuntud kui Deep Learning Super Sampling. Oleme juba üksikasjalikult arutanud Deep Learningi superproovide võtmist või DLSS-i see artikkel , kus saate lisateavet tehisintellekti abil töötava suurendamise tehnika kohta.



Kiirte jälgimine pole uus

Ehkki esmapilgul võib tunduda, et Ray Tracing on uus tehnoloogia, mille on rajanud Nvidia, on tõde sellest tegelikult kaugel. Jah, Nvidia oli esimene ettevõte, kes rakendas mängudes reaalajas kiirte jälgimise tuge, kuid see ei tähenda, et Ray Tracingit poleks enne RTX-sarja olnud. Tõenäoliselt olete seda juba aastaid teadmata nautinud, kui olete vaadanud mõnda hiljutist filmi, mis sisaldab CGI-efekte.



Kiirjälgimist kasutatakse juba muudes valdkondades, näiteks filmides - pilt: Nvidia



Rakendamine filmides on tõepoolest veidi erinev ja palju intensiivsem kui mänguversioon. Suurtel eelarvelistel lavastustel on luksus, et nad saavad kulutada nende stseenide renderdamiseks palju raha ja aega. On teada, et populaarsetes animafilmides on kuu jooksul kasutatud kogu filmi kiirtejälgede efektide renderdamiseks umbes 1000 superarvutit. Sellised suuremahulised renderdamisprotsessid pole muidugi keskmise mänguri jaoks, kes soovib mõnda mängu uuendatud visuaaliga mängida, teostatav ega võimalik, seega on tänapäevastes mängudes esinev Ray Tracing versioon rakenduses üsna erinev. Siiski on kiirte jälgimine funktsioon, mis esineb paljudes tootmisvaldkondades väljaspool mängimist, kusjuures filmid on üks silmapaistvamaid.

Kiirjälgimise funktsioone toetavad ka tootlikkuse tarkvarad, mida professionaalid kasutavad graafiliselt intensiivsete stseenide töötamiseks, näiteks Blender. Need arvutigraafika- ja renderdustarkvarad kasutavad fotorealistlike visuaalide tootmiseks fotorealistlike visuaalsete piltide ja 3D-animatsioonide puhul kiirtejälgimise erinevat taset.

Mis on rasteriseerimine?

Miks pidas Nvidia vajalikuks nii keerulise protsessi juurutamist traditsioonilistesse mängudesse? Kas mängude kiirjälgimise protsessis on mingeid erinevusi, et muuta see töökoormuse jaoks paremini optimeerituks? Ray Tracing'i mehhanismi mõistmiseks peame kõigepealt mõistma mängu traditsioonilist renderdamise mehhanismi. See aitab meil mõista, miks peetakse kiirtejälgimist graafilise truuduse parandamiseks ja suureks edasiminekuks.



Praegu renderdamiseks kasutatavat tehnikat nimetatakse rasteriseerimiseks. Selles tehnikas suunab mängukood GPU joonistama 3D-stseeni polügoonide abil. Need 2D-kujud (enamasti kolmnurgad) moodustavad suurema osa ekraanil kuvatavatest visuaalsetest elementidest. Pärast stseeni joonistamist tõlgitakse või rasteriseeritakse see üksikuteks piksliteks, mida seejärel spetsiaalne varjutaja töödeldakse. Varjutaja lisab värvid, tekstuurid ja valgusefektid pikslite kaupa, et saada täielikult renderdatud kaader. Seda tehnikat tuleb korrata umbes 30–60 korda sekundis, et luua mängudes 30 või 60 kaadrit sekundis visuaale.

Rasteriseerimismehhanismi üksikasjad - pilt: Medium.com

Rasteriseerimise piirangud

Kui rasterdamine on mängudes renderdamise vaikeviis olnud juba mõnda aega, siis rasterdamise taga olevale protsessile on omased mõned piirangud. Rasteriseerimise põhiprobleem on see, et sellel tehnikal on keeruline jälgida täpselt seda, kuidas stseeni valgus peaks liikuma ja stseeni teiste elementidega suhtlema. Rasteriseeritud renderdamine ei anna konkreetse stseeni valgusefektide ja üldise valgustuse osas samu tulemusi kui Ray Traced renderdamine. Rastreeritud renderdamine võib mõnikord valgustusega seoses tekitada ka mõnevõrra ebatäpseid visuaale, mis võib konkreetsesse mängu sukeldumist tõesti kahjustada. Seetõttu peetakse kiirtejälgimist renderdamise paremaks vormiks, kui tegemist on graafilise truudusega, eriti valgustuse osas.

Mis täpsemalt on Ray Tracing?

Nüüd, kui oleme arutanud rasteriseeritud renderdamise traditsioonilist vormi, arutame reaalajas kiirte jälgimise uut rakendust tänapäevastes mängudes. Kiirjälgimine on renderdamistehnika, mis loob pildi, mis põhineb virtuaalsel valgusel ja kuidas see valgusallikas suhtleb kõigi virtuaalses stseenis olevate objektidega. Kiirjälgimine võib luua tunduvalt elutruuma stseenide kujutamise, mis kasutab realismi tunde ärakasutamiseks valguse ja stseenis olevate objektide vastasmõju. Lihtsamalt öeldes on Ray Tracing tehnika, mis paneb valguse videomängudes käituma nagu päriselus.

Ray Tracing lubab mängudes visuaalselt täielikult üle vaadata - pilt: Nvidia

Ray Tracing'i mehhanism

Ray Tracing'i mehhanism mängudes erineb olemuslikult teistest Ray Tracing'i vormidest, mida juba leidub teistes tööstusharudes, näiteks filmides. Selle asemel, et jälgida kõiki miljoneid kiirgusid, mis tulevad igast valgusallikast, vähendab tarbija jaoks mõeldud kiirte jälgimine arvutuskoormust, jälgides kaamerast kasutaja perspektiivi esindava tee ühe piksli abil, seejärel ükskõik millise objekti taga pikslit ja siis lõpuks tagasi kõnealuse stseeni valgusallika juurde. See kiirtejälgimise tehnika võib tekitada ka mitmeid efekte, nagu valguse neeldumine, peegeldumine, murdumine ja difusioon, mille määravad objekt, mis oli stseenis valguse vastas. Kiirte jälgimise algoritm võib arvestada ka kiirgust, nii et kõik peegeldusefektid või varjud kuvatakse täpselt.

Ray Tracing'is käitub valgus mängus nii nagu reaalses elus - Pilt: Nvidia

Kiirte jälgimise erinevad vormid

Kõik kiirtejälgimise rakendused pole ühesugused. Ray Tracing'i toetavad erinevad mängud rakendavad seda funktsiooni mõnevõrra erineval viisil. See on mängu arendaja ülesanne suurendada või vähendada Ray Tracing'i keerukust mängus, nii et mäng tagab jõudluse ja visuaalse kvaliteedi ideaalse tasakaalu. Alates 2020. aastast kasutab enamik kiirtejälgimist toetavaid mänge kiirjälgimist ainult stseeni ühe aspekti jaoks, mitte aga kogu stseeni renderdamiseks, kasutades kiirjälgimist ennast. See on võimalik, kuid täisstseeni kiirjälgimise arvutuskulud on võrreldes teiste lähenemisviisidega astronoomilised ja seega pole vähemalt praegu pingutamist väärt. Kirjutamise hetkest alates on mängudes praegu kasutatavad Ray Tracing'i erinevad rakendused:

  • Varjud: Kõige lihtsam ja vähem intensiivne kiirtejälgimise teostus on vaieldamatult seotud varjudega. Siin kasutatakse kiirtejälgimist stseeni varjude ideaalseks renderdamiseks lähtuvalt valgusallikast pärineva valguse päritolust ja objekti enda asukohast. Seda tehnikat kasutatakse kõige paremini raamatus 'Hauaraduri vari', et saada üksikasjalikum varjukaart, mis reageerib varju tekitavate objektide ümbruse muutustele. Kõige olulisem on see, et valgusallika liikumine ja nurk võivad nüüd tekkivates varjudes põhjustada samu muutusi, mida me reaalses elus täheldame.
  • Peegeldused: Peegeldused on Ray Tracing'i abil renderdamiseks üsna arvutuslikult intensiivsemad, kuid Ray Traced peegeldused näevad tänapäevastes mängudes fenomenaalsed välja ja on ilmselt kõige tähelepanuväärsemad graafilised täiustused, mida Ray Tracing abil saab. Peegeldused kasutavad stseeni valgusallikat peegeldavate objektide, nagu klaas ja vesi, peegelduste täpseks renderdamiseks. Üks populaarsemaid Ray Traced peegeldusi kasutavaid mänge on “Control”.
  • Ümbritsev oklusioon: See on seotud ka varjudega ja on enam-vähem seotud sama põhiprotsessiga. Ambient Occlusion kasutab kiirtejälgimist, et ennustada varjude nurka ja intensiivsust, lähtudes objektide asukohast ja paigutusest stseenis. Kui see on õigesti tehtud, võib Ambient Occlusion mängule lisada hämmastavaid üksikasju ja realismi.
  • Globaalne valgustus: Ray Tracing'i tänapäevastes mängudes rakendamise arvatavasti kõige arvukam vorm, kasutab Global Illumination Ray Tracing'i maailma valguse täpseks kujutamiseks. See annab sisselülitamisel palju realistlikuma valgustunde, kuid sellel on tohutu jõudluse tulemus ka tänu suurele töödeldavale andmehulgale. 'Metro Exodus' kasutab kiirtejälgimist, et pakkuda globaalse valgustamise palju realistlikumat vormi.
  • Kogu tee jälgimine: Lõpuks näeme ka mõnede mängude ilmumist, mis on täielikult jälgitavad, mis tähendab sisuliselt seda, et kõik on Ray Traced. Nüüdseks on need mängud mõnevõrra lihtsamad ja väiksemad kui teised mängud, mis olid enam-vähem suurte ettevõtete AAA-tiitlid, kuid see ei tähenda, et need ei tunduks muljetavaldavad. Tegelikult võivad mõned väita, et need täieliku raja jälgimisega mängud näevad paremad välja kui kõik teised Ray Tracing'i rakendused. „Minecraft RTX” ja „Quake RTX” on kaks pealkirjast, mis on kirjutamise ajal täielikult jälgitavad.

Ray Tracing Reflections võib olla Ray Tracing'i kõige meeldivam rakendus mängudes - pilt: Nvidia

Mida mul on vaja kiirte jälgimiseks?

Nagu varem mainitud, on Ray Tracing väga arvutuslikult intensiivne ülesanne, nii et selle toimimiseks on vaja kindlalt tippklassi riistvara. Kirjutamise hetkeks on nii AMD-st kui ka Nvidiast mitu graafikakaarti, mis toetavad riistvarakiirusega kiirtejälgimist. Isegi Sony ja Microsofti konsoolid toetavad seda funktsiooni. See laiendab natuke toetatud riistvara loendit:

  • Nvidia GeForce RTX 2000 seeria
  • Nvidia GeForce RTX 3000 seeria
  • AMD Radeon RX 6000 seeria
  • Microsoft Xboxi seeria X
  • Sony PlayStation 5

Pidage meeles, et kui AMD tegeleb Ray Tracingiga natuke teisiti kui Nvidia, siis on mõnevõrra suurem jõudluskaristus, mida peetakse kinni, kui kasutate AMD-kaarte Ray Tracing'iks. Samuti, kui soovite täiustatud jõudlust kogeda rakenduse Deep Learning Super Sampling abil, on see funktsioon saadaval ka ainult Nvidia RTX-kaartidel. Väidetavalt töötab AMD oma RX 6000-seeria kaartide jaoks DLSS-i sarnase funktsiooni kallal, kuid praegu on see kirjutamise ajal veel väljatöötamisel.

Nvidia on kasutusele võtnud ka termini „Giga Rays“, et anda kasutajatele ettekujutus oma RTX-graafikakaartide suhtelisest kiirtejälgimisvõimalustest. Nvidia ütleb, et 5 gigakiirt sekundis on minimaalne virtuaalse valguse kogus, mida on ideaalselt vaja videomängukeskkonnas tüüpilise ruumi täielikuks valgustamiseks. GeForce RTX 2070 pakub 5 Giga kiirust sekundis, RTX 2080 aga 8 Giga kiirust sekundis. RTX 2080Ti pakub ilmatu 10 gigakiirt sekundis. See on siiski mõnevõrra meelevaldne üksus, nii et seda tuleks kasutada üldiselt ainult suhteliste ootuste esitamiseks.

Jõudluskaotus ja DLSS

Nagu praeguseks on ilmne, on Ray Tracing'i suurim puudus tulemuslikkus, kuna protsessis on vaja teha palju arvutatud arvutusi. Mõnes mängus on jõudlushitt nii suur, et see võib viia mängu kaadrisse, mida enam mängitavaks ei peeta. Esitushitt on veelgi suurem mängudes, mis kasutavad kiirte jälgimise keerukamaid rakendusi, näiteks peegeldused, globaalne valgustus või täielik teekonna jälgimine.

Muidugi mõtles Nvidia sellele jõudluskaristuse olukorrale ja töötas välja ka uue kompensatsioonitehnika, mis on tuntud kui Deep Learning Super Sampling. See tehnika nimega DLSS ilmus koos Nvidia RTX 2000 seeriaga juba 2018. aastal. Oleme DLSSi juba üksikasjalikult uurinud see artikkel , kuid selle tehnoloogia põhiolemus on see, et see renderdab pilti väiksema eraldusvõimega ning suurendab seejärel nutikalt ja metoodiliselt pilti, et see vastaks väljundi eraldusvõimele, et pakkuda natiivsel renderdamisel oluliselt paremat jõudlust. DLSS on suurepärane kiirtejälgimise jõudluskao kompenseerimise mehhanism, kuid seda saab kasutada ka ilma kiirtejälgimiseta, et pakkuda veelgi suuremaid kaadrisagedusi ja palju paremat kogemust.

Oluline jõudluse suurenemine juhtimisel, kui DLSS on sisse lülitatud - Pilt: Nvidia

DLSS-i suurim eelis on see, et ta kasutab süvendatud õppimist ja tehisintellekti pildi suuremaks muutmiseks, nii et natiivse ja suurendatud pildi visuaalse selguse vahe oleks peaaegu olematu. Nvidia kasutab oma RTX-kaartide seerias Tensori südamikke, et kiirendada DLSS-protsessi, nii et seda suurendavat arvutust saab teha renderdatava mängu tempos. See on tõeliselt põnev tehnoloogia, mida tahaksime näha edasi arenemas ja paremaks saada kui praegu.

Kiirte jälgimise tulevik

Ray Tracing mängudes on alles algamas ja võime kindlalt öelda, et see on siin, et jääda. AMD on just nende välja andnud esimene rea kaarte, mis toetavad kiiret reaalajas jälgimist RX 6000 seeriaga ning PlayStation 5 ja Xbox Series X toetavad ka Ray Tracing'i. Praegused takistused, mis tuleb ületada, hõlmavad jõudluskaotust ja seda toetavate mängude vähest arvu. Praegused mängud, mis kirjutamise ajal toetavad kiirte jälgimist, hõlmavad järgmist:

  • Keset kurjust
  • Lahinguvälja V
  • Helge mälu
  • Call of Duty: Kaasaegne sõda (2019)
  • Call Of Duty: Black Ops'i külm sõda
  • Kontroll
  • Crysis uuendatud
  • Too meile Kuu
  • Fortnite
  • Kummitusjooksja
  • Õiglus
  • Mechwarrior V: Palgasõdurid
  • Metroo väljaränne
  • Minecraft
  • Kuuvalguse tera
  • Pumpkin Jack
  • Quake II RTX
  • Tomb Raideri vari
  • Püsi valguses
  • Vaadake koerte leegionit
  • Wolfenstein: Noorvereline

Vahepeal on Nvidia kinnitanud, et järgmised trükised toetavad ka Ray Tracing'i ilmumist:

  • Aatomsüda
  • Cyberpunk 2077 (käivitamine)
  • Surev valgus 2
  • Doom Igavene
  • Värvatud (novembri suletud beeta)
  • JX3
  • Mortal Shell (november)
  • Vaatleja: System Redux
  • Valmis või mitte (varajase juurdepääsu käivitamine)
  • Elsiumirõngas (turule toomine)
  • Sünkroonitud: planeediväline
  • Nõid III
  • Vampiir: maskeraad - vereliinid 2
  • World Of Warcraft: Shadowlands (november)
  • Xuan-Yuan Sword VII (käivitamine)

Eelseisvad mängud, mis toetavad nii RTX kui ka DLSS - Pilt: Nvidia

Kuigi need ei pruugi tunduda paljude mängudena, on see algus suuna poole, kus renderdamise valdavaks vormiks võiks väga hästi olla Ray Tracing. Nüüd, mis puutub jõudlusse, siis on tõesti raske ennustada, kas Ray Tracing'i jõudlust tabatakse veidi. Mis on mõistlik eeldada, on see, et DLSS paraneb ja pakub piisavat hüvitist Ray Tracing'i sisselülitamisel tekkiva jõudluskao eest. Kirjutamise hetkest alates ei ole DLSS-i toetavate mängude loend sugugi lai, kuid on hea algus silmas pidada, et Nvidia on teatanud DLSS-i toest ka mitmele eelseisvale mängule. Siin on kõik mängud, mis praegu toetavad rakendust Deep Learning Super Sampling:

  • Hümn
  • Lahinguvälja V
  • Helge mälu
  • Call Of Duty: Black Ops'i külm sõda
  • Kontroll
  • Surm luhtub
  • Too meile Kuu
  • F1 2020
  • Final Fantasy XV
  • Fortnite
  • Kummitusjooksja
  • Õiglus
  • Marveli Avengers
  • Mechwarrior V: Palgasõdurid
  • Metroo väljaränne
  • Minecraft
  • Monster Hunter: maailm
  • Tomb Raideri vari
  • Vaadake koerte leegionit
  • Wolfenstein Youngblood

Nagu võisite tähele panna, on enamik DLSS-i toetavatest mängudest pealkirjad, millel on ka mingisugune Ray Tracing'i tugi. See annab täiendava kinnituse teooriale, et DLSS on välja töötatud ja välja antud peamiselt kompensatsioonitehnoloogiana, et leevendada Ray Tracing'i tohutut jõudluse kadu. DLSS on siiski tõsiselt muljetavaldav tehnoloogia, kuna Nvidia on selgitanud, et kasutab kompleksarvutuste tegemiseks superarvutit, mis treenib algoritmi, mida Nvidia GPU-de sees olevad Tensori südamikud järgivad. Nagu ka Ray Tracing, on ka DLSS-i oodata ka rohkematele mängudele:

  • Keset kurjust
  • Aatomsüda
  • Piir
  • Cyberpunk 2077 (käivitamine)
  • Igaviku serv (november)
  • JX3
  • Mortal Shell (november)
  • Mount & Blade II lippur (november)
  • Valmis või mitte (varajase juurdepääsu käivitamine)
  • Püüdjad
  • Vampiir: maskeraad - vereliinid 2
  • Xuan-Yuan Sword VII (käivitamine)

DLSS koos Ray Tracingiga näib olevat mängutööstuse tulevik alates 2020. aastast.

DLSS 2.0 toetavate mängude loetelu kasvab jätkuvalt - pilt: Nvidia

Järeldus

Rastreerimine on tehnika, mida on mängudes juba pikka aega kasutatud 2D hulknurkade tasapinna 3D-pildiks muutmiseks. 2018. aastal tutvustas Nvidia RTX 2000 graafikakaartide seeriat, mis toetab mängude reaalajas kiirte jälgimist, tehnikat, mis kasutab keerulisi arvutusi stseeni valguskiirte jälgimiseks, et luua täpseid kujutisi sellest, kuidas valgus suhtleb stseenis olevad objektid. See viis mängumaailma ootamatu tormini ja kogu tööstus seadis Ray Tracingsi oma peamiseks fookuseks.

Kirjutamise hetkest on Nvidia välja andnud veel ühe põlvkonna graafikakaarte, mis parandavad veelgi nende kiirtejälgimise jõudlust, samal ajal kui nii AMD kui ka konsoolid on teatanud selle funktsiooni täielikust toetamisest. Nvidia on täiustanud ka oma Deep Learning Super Sampling tehnikat, mis kasutab tehisintellekti ja Deep Learning abil madalama eraldusvõimega renderdatud pilti nutikalt kõrgklassi, et kompenseerida kiirtejälgimisega seotud jõudluskaod.

Tundub, et kiirjälgimine on siin, et jääda, ja kuigi seda funktsiooni toetavate pealkirjade esialgne arv ei ole lai, tehakse teatavaks üha rohkem pealkirju, millel on reaalajas kiirjälgimise täielik tugi. Nüüd on arendajate ülesandeks oma eelseisvates mängudes Ray Tracing'i funktsioonide täpsustamine ja ka seda funktsiooni toetavate pealkirjade arvu suurendamine. Nvidial ja AMD-l on ka kohustus oma riistvara selle funktsiooni jaoks optimeerida, et mängijad ei peaks Ray Tracing'i sisselülitamisel kogema hävitavat jõudluskaotust.