Uprkos činjenici da se cene modela 2080, pa i 2070 često graniče s kvartalnim budžetom prosečne domaće familije, nešto se moralo preduzeti da se proveri da li zaista NVIDIA nudi ray tracing rendering. Naravno, na kraju kartica nije ni završila u mom računaru, manje-više zbog toga što ja imam totalno rasturen desktop i skoro isključivo koristim notebook, doduše s više monitora, spoljnom tastaturom i klasičnim mišem.
Nedavno kompletirana mašina s Intel Core i7 (6/12 jezgara/thread-ova), 32 GB RAM-a i SSD-om za potrebe razvoja budućih inostranih programera sasvim je lepo „udomila“ novu grafičku karticu. Ne zaboravite da morate da imate dva šestopinska napajanja (najbolje sa dve napojne grane PSU-a), mada se NVIDIA kune da RTX grafike ne samo da su brže nego i značajno manje troše.
Vidi se odmah
Grafika koja je zamenjena bila je dosta stari GTX 460, pa i ne postoji neka naročita samerljivost, ali ni GTX 460 nije baš za bacanje, pošto je i nakon toliko godina uporediv s današnjim entry-level karticama za gaming desktope. Mašina je veoma osetno „živnula“ s RTX grafikom, barem kad je gejming u pitanju, i to toliko da je redovno postizano preko (ili bar oko) 200 fps-a, čak i u nekoliko igara koje su bile „neigrive“. Sve se odvijalo u 1080p rezoluciji, pošto još nismo prešli na 4K, ali razlika je ogromna u povelikoj biblioteci naslova sa Steam-a koja je na storage (HDD) diskovima pomenutog računara.
Kako smo se odlučili za Gigabyte 2070 model? Uvek su mnogi faktori u igri, ali gajim izvestan fetiš prema Gigabyte pločama i grafikama i mogu da kažem da me do sada nisu razočarali. Napredniji RTX 2080 je, nakon dužeg premišljanja, ipak otpisan kao preskup – kao što ne bih dao neopravdane pare za iPhone, tako ne dam ni za grafiku za igranje. Pogotovo što su ekrfani FullHD i ne postoji šansa da ih uskoro zamene 4K ekvivalenti kojima bi bila neophodna 2080 snaga. A još manje izgleda ima za neki ambiciozan VR komplet. Dakle, 2070 je bio logičan izbor, uz napomenu da će se tržište verovatno češće opredeljivati za kartice sa 2060 GPU-ovima koji su i dalje dovoljni za odličnu 1080p zabavu na više ekrana.
Razlike u familiji
Podsetimo na ključne razlike GPU-ova: RTX2080 ima 2944 CUDA jezgra, RTX2070 ih ima 2304, a RTX2060 „samo“ 1920. Od značajnijih razlika tu je i 256-bitna memorijska magistrala uz tipičnih 8 GB na kartici, dok RTX2060 tipično ima 6 GB na 192-bitnoj magistrali. Koliko je ovo bitno? U ovom trenutku čini se da nije mnogo bitno, bar kad su u pitanju aktuelni naslovi, pogotovo na FullHD ekranima, jedva da ćete vizuelno primetiti razlike.
Pitanje koje se postavlja (kao i uvek) je: koliko će me to dugo služiti i kada ću ponovo morati da kupujem novu grafičku karticu? Odgovor nikako nije ni lak ni jednoznačan, ali definitivno je prošlo vreme kada smo novu grafičku karticu kupovali svake godine. Podsetimo se – bilo je to i vreme kad je NVIDIA izdašno učestvovala u razvoju novih igara, pa i novih engine-a za buduće igre. Naravno, sve je to rađeno u cilju povećanja frekvencije kupovine novih kartica. Što pre počnu da se primenjuju nove opcije i mogućnosti koje nude novi GPU-ovi, ljudi će pre poželeti novu grafičku karticu. A nekada sa starom grafikom neće ni moći da igraju neku novu, baš zanimljivu i raskošnu igru.
Proizvođače grafičkih čipova opustila je pomama za blockchain valutama, pa su par godina štancovali postojeće GPU-ove u ogromnim količinama za potrebe „rudarenja“. Pad popularnosti kriptovaluta, pa time i potražnje GPU-ovaa, doveo ih je u prilično nezgodan položaj. Sama NVIDIA se pre nekoliko meseci ogradila izjavom da se vraća gejmerima i ljubiteljima dobre slike, ali ostaje da se vidi kako će to izgledati u praksi.
Primer bi mogao biti čuveni benchmark program 3DMark koji je najpre izbacio demo pod nazivom Dandia koji upotrebljava neke ray tracing mogućnosti, a tek 8. januara ove godine je izbacio funkcionalan benchmark modul pod nazivom Port Royal. Kako NVIDIA još nije našla računicu da konkretnije podrži svoj stav o povratku gejmerima, 3DMark za ovaj modul traži na Steam-u 2,5 evra, ali je dostupan samo ako prethodno kupite čitav 3DMark koji košta 25 evra. Inače, u besplatnoj verziji ne možete da dodate ovaj modul.
Sve je to lepo, i zadovoljstvo je videti prve real-time refleksije, ali cena višestruko prevazilazi prosečne igre na Steam-u, a benchmark ne može ni da se igra, pa ni da promenite pogled ili perspektivu da biste malo bolje proučili efekte. Možda to ima smisla za nekoga ko će testirati gomilu novih kartica i objaviti „strašno dobro“ plaćenu analizu razlika među njima, ali za normalnog korisnika to jednostavno nema smisla. Dovoljno je što je zaista sve veoma brzo i što se nadamo da će ta situacija potrajati i u doglednoj budućnosti.
O čemu se radi…
Kada pomenete ray tracing, prvo na šta će vam ukazivati su prelepe i precizne refleksije. Nije da do sada nismo viđali refleksije u real-time renderovanim scenama, ali se zapravo radilo o vešto smišljenim podvalama. 3D objekti se, naime, mapiraju raznim teksturama, pa tako osnovno mapiranje određuje i osnovne boje objekta, bump mapiranje „koriguje“ jednostavno napravljen 3D objekat da izgleda kao da ima mnogo detaljnija udubljenja i ispupčenja, pa je i prikaz refleksije postizan tako što se na objekat „zalepi“ dodatna bit-mapa koja je u stvari slika okoline. Sve je stvar veštine umetnika, pa se i refleksija pokretnih objekata zapravo postizala tako što se nalepljena refleksiona tekstura animira.
Ne biste mogli ni da zamislite koliko različitih vrsta rendera postoji u zavisnosti od toga šta želite da postignete, a vrlo često se primenjuju trikovi da se ubrza dobijanje završne slike. Jedan od prvih poteza na tom polju bilo je mip-mapiranje u kome je primenjivano nekoliko različitih veličina nalepljenih slika (tekstura) u zavisnosti od toga koliko je u trodimenzionalnom svetu udaljen objekat koji se renderuje. Ako je objekat daleko i na ekranu zauzima relativno malu površinu, nema smisla renderovati ga s velikim i detaljnim teksturama.
U ray tracing postupcima ne počinje se tretman od 3D objekata u sceni, već od ekranske tačke. Cilj ove vrste renderinga je da istraži putanju svih svetlosnih zraka koji polaze od svetala u sceni, a da stvar bude komplikovanija, svaki materijal u sceni delimično apsorbuje, delimično odbija i delimično prelama svetlo. Ako nastavimo da „pratimo“ zrak od izvora svetla, shvatićemo da se neki zraci odbijaju i menjaju boju drugih objekata, ili se ogledaju u drugim objektima ili zbog različitog indeksa refrakcije potpuno menjaju sliku poput izgleda slamke koja izgleda kao „prelomljena“ kad je stavite u čašu vode.
Ovaj proces je teorijski beskonačan, pa bi svaki zrak mogao da se prati do „poslednjeg fotona“, pa nije ni čudo da je ray tracing nesrazmerno zahtevniji od ostalih rendering algoritama. Kao i u svim ostalim primenama, zadatak numeričkih metoda je da ovaj broj iteracija svede na razumnu meru i da u nekom trenutku napusti praćenje zraka ili jednostavnije – da se RT izračunavanje završi kad slika bude „dovoljno dobra“.
Iako postoji i više ray tracing algoritama, uobičajeni je backward pristup problemu. Umesto praćenja svetla od njegovog izvora dok se ne izgube ili ne oslabi, primenjuje se pristup renderovanja „kroz“ ekranske piksele. Naime, kroz svaku tačku ekrana prolazi „zrak“ koji kreće od našeg oka i nakon prolaska kroz piksel na ekranu dolazi do nekog objekta u 3D sceni. Analizira se da li se neki deo svetlosti odbija od objekta (refleksija) ili prolazi kroz objekat (refrakcija), zatim se uzima u obzir interakcija s objektima koji su u sceni dovoljno blizu ili im je dat veći značaj i praćenje zraka se usklađuje s tim.
Ni ova „jednostavnija procedura“ nije računarski naivna, pa je NVIDIA razvila OptiX engine, opštu RT platformu za svoje GPU-ove ali i za ostale paralelne arhitekture. To je i osnova RTX ray tracing sposobnosti, ali suštinski nema prepreka da se isti engine implementira i u Quadro ili Geforce kartice – naravno, ako je GPU dovoljno jak.
Sa svoje strane, Microsoft je nove mogućnosti odmah dodao u DirectX pod nazivom DirectX 12 DXR. Dakle, ako pokazujete sklonost za razvoj vizuelno bogatih igara, bacite se na istraživanje – sve je otvoreno za eksperimentisanje. Ako i niste raspoloženi za neki razvoj, pogledajte demoe i strpite se do nekog komercijalnog naslova koji će podržavati ray tracing.