USPOREDBA CPU I GPU RENDERIRANJA

S. Car, D. Vusić, A. Bernik

1. Sažetak

Renderiranje je proces kojim se gotovi 3D modeli prebacuju u 2D sliku, odnosno predstavlja postupak stvaranja slike iz nekog 3D modela uz pomoć posebnog programa. Tema ovog rada je usporedba različitih vrsta renderiranja unutar 3D programa. Istražene su razlike u renderiranju pomoću procesora (CPU), grafičke kartice (GPU) te kombinacije navedenog u programu New Tek Lightwave 3D. Uspoređivanjem se željela utvrditi efikasnost pojedinog postupka renderiranja.
U teoretskom dijelu rada opisani su osnovni pojmovi renderiranja, vrste rendera te je prikazan 3D program korišten u istraživanju. Eksperimentalni dio rada daje istraživanje koje je provedeno upotrebom nepristranih rendera: Fryrendera koji koristi CPU, Arion rendera baziranog na CPU+GPU te Octane rendera koji koristi GPU.

2. Uvod

Renderiranje je proces kojim se gotovi 3D model prebacuje u 2D sliku. Proces je vrlo kompleksan jer računalo uzima sve parametre koji su postavljeni u 3D sceni i izračunava sliku. To uključuje izračunavanje materijala na modelu i pripadnih atributa poput refleksije i refrakcije, izračunavanje sjena ovisno o parametrima izvora svijetla te reflektiranje tog svijetla od materijala na sceni. Za to računanje se u današnjim rendering solucijama koriste simulacije fizikalnog osvjeljenja, što znači da se izračunavaju virtualne zrake (engl. ray) emitirane iz izvora koje predstavljaju fotone.
Postupak matematičkog izračuna prevođenja 3D modela u 2D sliku moguće je provesti korištenjem procesora računala (CPU rendering), grafičke kartice računala (GPU rendering) odnosno kombinacije navedenog (CPU+GPU rendering).
U ovom radu će se za potrebe istraživanja koristiti tri tzv. nepristrana rendera: Arion, Fryrender i Octane od kojih svakiod njih koristi različite postupke renderiranja u smislu uporabe procesora odnosno grafičke kartice.

3. Teoretski dio

3.1. Render programi

Programi za renderiranje (u nastavku renderi) dijele se na pristrane i nepristrane rendere.
Pristrani renderi koriste različite matematičke tehnike skraćivanja količine potrebnih „ispaljenih“ zraka iz izvora svijetlosti pri čemu kompenziraju nedostatak neizračunatih informacija. Rezultat je neusporedivo kraće vrijeme izračunavanja, ali je njihovo postavljanje kompleksnije i zahtjevnije, stvorena 2D slika uvijek ima više ili manje vidljive greške u osvjetljenju.
Nepristrani renderi koriste matematičke modele izračunavanja osvjetljenja bez pogrešaka koje se mogu dogoditi zbog kompenziranja nedostataka informacija. Nepristrani renderi su populalizirani kasnije od pristranih rendera, potaknuti razvojom sve bržeg hardvera koji može podnijeti veću količinu izračuna u relativno prihvatljivom vremenu. Posljednja generacija grafičkih kartica naročito je pogodna za takve izračune jer su njihovi prozvođači razvili frameworkove kojim se računalna snaga tih čipova može iskoristi za velike paralelne izračune kao što je rendering, konverzija videa, zvuka i sl. Drugim riječima, preuzimaju ulogu procesora za neke specifične namjene.
Rezultati se najviše vide u zadaćama kojima pogoduje masivna paralelnost jer sam broj jezgara takvih kartica ima veliku prednost nad procesorima. Negativne strane renderiranja grafičkim karticama je limitirana fleksibilnost - podrška za napredne mogućnosti 3Da poput čestica te količina dostupne memorije. S memorijske strane, današnje grafičke kartice imaju manje vlastite memorije od RAM memorije koju koriste procesorski renderi, stoga je i to jedan problem kojem se treba prilagoditi pri postavljanju scene.

3.1.1.  Fryrender

Fryrender je sljedeća generacija tehnologije renderiranja razvijena od strane tvrtke RandomControl. Fryrender je fizikalno točan simulator fizike svijetla. U tom renderu su uključeni svi elementi (materijali, svijetla i kamera) u stvaranju slike koji su temeljeni na fizički točnim modelima. Fryrender ima jednostavno korisničko sučelje koje donosi tehnologiju renderiranja na najviši nivo te postiže odlične rezultate. [http://en.wikipedia.org/wiki/Fryrender, lipanj 2012]
Fryrender je nepristran CPU render. Koristi dovoljno vremena za izračunavanje te osigurava da se render približi na točno pravi balans svijetla. S obzirom na geometriju, materijale i pojedine postavke svijetla, scena će izgledati baš kao i u stvarnom svijetu. [http://randomcontrol.com/downloads/brochures/fryrender_brochure.pdf, lipanj 2012]
S tehničkog gledišta, Fryrender nije klasičan render već simulator fizike koji reproducira po uređenim pravilima zračenje svijetla i optičku točnost. Simulacija svijetla se izvodi pomoću nepristrane integracije koja osigurava da se render približi na točno određen balans svijetla, pod uvjetom da ima dovoljno vremena za izračunavanje. Riječ „nepristran“ znači da tom približavanju osigurava da bude progresivan i bez obrade. Fizika svijetla simulira se točno po Fryrender-u. Sve vizualne pojave koje ljudske oči mogu vidjeti se automatski uzimaju u obzir, kao što je u stvarnom svijetu. Tako se efekti poput color bleeding, caustics, depth of field, … pojavljuju automatski kao rezultat simulacije. [http://randomcontrol.com/downloads/brochures/fryrender_features_list.pdf, lipanj 2012]
Fryrender se sastoji od dvije softverske komponente: dodatak (Plugin) te samostalna verzija (Standalone). Primjenjuje se u mnogim programima pomoću dodataka (3D Studio, Maya, C4D, Lightwave, Rhino, Xsi, SU). Taj dodatak donosi sve Fryrenderove značajke u aplikaciju za modeliranje, kako bi se scena postavila primjenom Fryrenderovih materijala i postavki. Nakon što je jednom implementirana, samostalna verzija Fryrendera će upravljati zadatkom iz aplikacije za modeliranje te će pokrenuti simulaciju fizike i producirati konačnu sliku. [http://en.wikipedia.org/wiki/Fryrender, lipanj 2012]
Fryrender je dostupan na svim platformama, od Windowsa (XP, 2000, Vista, 7) do MacOS X i Linux-a. Sve verzije u svim platformama mogu biti 32-bitne ili 64-bitne.

3.1.2.  Arion

Arion, vrsta nepristranog rendera, u svojim proračunima pored grafičke kartice koristi i središnji procesor, a sve u svrhu poboljšavanja performansi. To je razlog što je Arion prvi hibridni nepristrani render u svijetu. [http://novedge.com/products/4396?ITS=OMNU, svibanj 2012]
Arion je produciton – ready render dizajniran na način da kombinira korištenje svih CPUa i GPUa s računala. Prema potrebi može koristiti sve CPUe i GPUe s računala na mreži. Ovaj CPU+GPU+LAN koncept koji koristi više računalne snage iz što je više moguće dostupnih uređaja zove se hibridno ubrzanje. Arionova render jezgra je nepristrana i fizički točna, što u kombinaciji s hibridnim ubrzanjem pretvara Arion u grid – computing rješenje za simulaciju fizike svijetla. Brzina Ariona ne samo da značajno smanjuje vrijeme renderiranja, već je također dovoljno visoka da dopušta interaktivno renderiranje. Arion samostalna verzija je interaktivan editor s real-time podrškom koja prikazuje scenu s konačnom kvalitetom svaki put dok korisnik radi promjene na rasvjeti, materijalima i kamerama. [http://randomcontrol.com/arion, lipanj 2012]
Arion je u potpunosti kompatibilan s formatima datoteka koje koristi Fryrender. Arion i Fryrender dijele i koriste potpuno iste plugin-ove. Render Arion može otvoriti/spremiti scene u već poznat i vrlo popularan format .obj. Neke od glavnih odlika ovog rendera su interaktivno editiranje te 20-100 puta brža fizička točnost renderiranja. Moguće je sačuvati viewport da se dobije konačan render te se može postaviti Arion da renderira off-screen u bilo kojoj rezoluciji. Arion podržava sve nVidia CUDA-enabled produkcije. [http://randomcontrol.com/arion, lipanj 2012]
Verzija Arion v1.0 je za sada dostupna samo korisnicima Windows platforme, dok će za Mac OS X i Linux verzije biti dostupne u skoro vrijeme.

3.1.3.  Octane

Octane render je prvi GPU nepristrani, fizički točan render na svijetu. Koristi video karticu računala za proces renderiranja fotorealističnih rezultata velikom brzinom. Time se omogućuje korisniku da stvori izuzetne radove u dijeliću vremena tradicionalnih CPU rendera. Octane render pored brzine krasi i potpuna interaktivnost. Na taj način se omogućava rad s više scena što prije nije bilo moguće. Moguće su postavke svijetla, materijala, kamere, dubina polja, … u realnom vremenu s trenutnim povratnim informacijama o rezultatima. [http://render.otoy.com/demotutorial.html, srpanj 2012]
Octane render ima multi-platform podršku što znači da podržava MS Windows, Apple Mac ili čak Linux operativni sistem. Nije vezan niti za jedan 3D program jer postoji Octane samostalna verzija. Uz trenutno razvijene dodatke, Octane se može implementirati u neke od 3D programa: Autodesk 3DS Max, Maya, Softimage XSi, Maxon Cinema4D, Blender, Google SketchUp, Luxology MODO i NewTek Lightwave 3D. Ako se radi u nekim 3D aplikacijama poput ArchiCADa, moguće je spremiti scenu u već poznati format .obj, zatim ga učitati u Octaneu te mu potom postaviti materijale i početi proces renderiranja. To je vrlo prikladno rješenje za mnoge korisnike jer je konačan izlazni format 3D aplikacije .obj, koji je u današnje vrijeme vrlo polularan i dostupan kod gotovo svih 3D programa. [http://render.otoy.com/demotutorial.html, srpanj 2012]
Octane render se može preuzeti sa službene stranice ali samo u demo verziji. Da bi se moglo koristiti Octane render potrebno je imati najmanje GT8800 Nvidia grafičku karticu i najnovije CUDA drivere. Na službenoj stranici moguće je provjeriti da li je određeni hardware kompatibilan s Octane renderom.

3.2. NewTek Lightwave 3D

Lightwave 3D je program koji na najbrži način pretvara trodimenzionalne scene u dvodimenzionalnu sliku ili animaciju (proces poznat pod imenom rendering).

a

Slika 1. Početni izgled Lightwave 3d programa

Renderiranje nije jedina karakteristika koja izdvaja Lightwave od drugih sličnih programa na tržištu. Jedno od njegovih najmoćnijih oružja je upravo modeliranje. Alata za modeliranje ima puno te je pomoću njih lako i brzo moguće napraviti željeni 3D oblik. Lightwave 3D podržava višeslojne objekte s virtualno neograničenim brojem slojeva, rad s objektima u obliku poligona ili trodimenzionalnih površina definiranim krivuljama, vrlo napredne opcije mapiranja tekstura, …. [http://en.wikipedia.org/wiki/LightWave_3D, srpanj 2012]
Kad je u pitanju animacija, osim klasičnih kostiju, FK i IK (forward kinematics i inverse kinematics) pretapanja oblika i povezivanja, automatizirana je dinamika mekih i čvrstih tijela te postoji ugrađeni čestični sistem koji je u interakciji s ostalim objektima u realnom vremenu. Tu je i Motion Mixer, alat koji omogućava nelinearnu kombinaciju animacija. S tim alatom je moguće sačuvati i ponovno koristiti i mijenjati animacije u cjelokupnoj hijerarhiji. Moguće je miješati i pretapati različite animacije, zamrznuti, usporiti ili ubrzati vrijeme jednog objekta ili čitave kompozicije.
Lightwave 3D se koristio za stvaranje posebnih efekata za Babylon 5, Zvijezdane staze, Voyager Space te za razne znanstveno fantastične televizijske serije. Koristio se u produkciji Titanica,  Star Wars filmova, Sin City i drugih svijetskih poznatih filmskih naslova. [http://en.wikipedia.org/wiki/LightWave_3D, srpanj 2012]

4. Eksperimentalni dio

Za potrebe ovog istraživanja biti će korišteni program NewTek Lightwave 3D 9.6 u 64-bitnoj verziji te samostalne verzije Fryrender, Arion i Octane render-a. Korištena je grafička kartica koja podržava CUDA tehnologiju kako bi se moglo istražiti renderiranje pomoću grafičke kartice i pomoću procesora (GPU+CPU). Izvršiti će se usporedba kvalitete i brzine 3 rendera: Fryrender, Arion i Octane render.
Korišteno je stolno računalo sa četverojezgrenim procesorom Intel Core i5-2380P na 3,1GHz, 16GB DDR3 radne memorije te sa grafičkom karticom Nvidia GeForce GTS 450 sa 2GB memorije.
Istraživanje će se provesti na dvije vrste modela, različite razine kompleksnosti. Usporediti će se kako određeni render izračunava scenu s malim brojem poligona te kompleksniju scenu s većim brojem poligona. Modeli koji su preuzeti s interneta imaju priloženu referencu. Po pitanju postavljanja tekstura na modele, isto nije bilo moguće raditi u Lightwave-u te exportirati u Fryrender, Arion i Octane pošto su to programi koji imaju svoje svoje zasebne teksture koje nisu kompatibilne s Lightwave-om. Zbog objektivnije usporedbe svaki program je korišten zasebno jer integracijom u programe usporava izračune. Renderiranje nije pokretano iz Lightwave-a nego direktno u pojedinom render samostalnom programu.

4.1. Izrada modela za usporedbu renderiranja

Modelirani su osnovni oblici sadržani u programu  Lightave 3D sa svrhom utvrđivanja koji render s kojim hardware-om kvalitetnije i brže obavlja postupak renderiranja (slika 2.). Modeli su izrađeni poligonalnim modeliranjem. Svaki model se sastoji od određenog broja poligona, od kojih svaki poligon ima svoj face, također ima linije tj. rubove koji se nazivaju edgevi, a mjesta na kojima se oni sijeku su verteksi. Pored tih modela, za usporedbu je preuzeti i jedan kompleksniji model s web stranice http://archive3d.net/.

a

Slika 2. Osnovni modeli za eksperimentalni dio

4.2. Usporedba rada rendera

Usporedba kvalitete i brzine rada rendera je izvršena na četiri postavljene scene.

Scena 1.

Na scenu je postavljeno 9 kugli, ravna ploha i jedna HDRI slika koja služi kao okoliš, a ujedno daje i osvjetljenje. Četiri kugle predstavljaju različite materijale (staklo, brušeno staklo, krom i brušeni metal) dok ostalih 5 kugli ne sadrži materijale već služe samo za refleksiju. Ovom usporedbom će se pokazati koliko je vremena potrebno određenom renderu da izrenderira osnovne primitivne modele s određenim materijalima. Trajanje renderiranja je načelno postavljeno na 30 sekundi.


a

Slika 3. Scena 1

Rezultati ove usporedbe pokazuju kako renderiranje putem Octane rendera daje kvalitetniji prikaz strukture materijala za zadano vrijeme renderiranja u odnosu na Fryender i Arion. Drugim riječima, brzina renderiranja zadanih materijala je najveća kod Octane rendera.

Scena 2.

U ovom primjeru će se pokazati kako određeni renderi rješavaju osvjetljenje u situacijama gdje se zrake svjetlosti moraju odbijati nekoliko puta. U ovoj sceni će se kao za osvjetljenje koristiti fizičko nebo i sunce. Zadano je vrijeme renderiranja od 10 sekundi.

a

Slika 4. Scena 2

Rezultati renderiranja pokazuju kako Arion i Fryrender imaju većinu razinu šuma u prikazu slike za zadano vrijeme renderiranja od 10 sekundi u odnosu na Octane render. Kod GPU Octane rendera šum u prikazu slike gotovo da nije zamjetan.

Scena 3.

Na ovom primjeru će se pokazati koji render je brži u stvaranju slike bez šuma. Izvršiti će se 10 mjerenja pri čemu će biti mijenjani položaj i kut kamere da bi se dobila nasumičnost uzorka.


a

Slika 5. Scena 3

Rezultati mjerenja iz tablice 1. ukazuju kako je Octane renderu potrebno manje vremena za stvaranje slike bez šuma u odnosu na Arion te posebice Fryrender koji se pokazao kao najsporiji.

Tablica 1. Vrijeme renderiranja Scene 3


Vrsta rendera

Redni broj mjerenja (sekunde)

 

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

Srednja vrijednost

Octane

43

38

30

36

25

34

23

52

30

39

35

Arion

129

153

152

159

126

134

170

128

180

190

152,1

Fryrender

202

242

224

239

214

217

264

256

237

244

233,9

Scena 4.

Na ovom primjeru će se pokazati kako određeni render izračunava kompleksnije modele. Kao osvjetljenje će se postaviti fizičko nebo i sunce kod svakog rendera. Svaki render će se pustiti da izračunava 30 sekundi kako bi se dobile određene razlike između njih.


a

Slika 6. Scena 4

Nakon ove usporedbe uočava se razlika u renderiranju pojedinog rendera. Evidentno je kako Octane render editira više mat boju za razliku od Fryrendera i Ariona koji daju sjajniji prikaz scene. Potrebno je znati da je ovo model koji je učitan u ove programe bez dodatnih postavki. Kako su učitani u programe tako su i renderirani. Octane render daje realističniji prikaz scene uz vjernije boje u odnosu na druga dva rendera.

5. Zaključak

Kod svakog render sistema postoji određena razlika u brzini i kvaliteti. Uspoređivani nepristrani renderi svoj proces prebacivanja 3D modela u 2D sliku baziraju na korištenju centralnog procesora (CPU), grafičke kartice (GPU) odnosno kombinacije navedenog. Usporedbom se željelo pokazati da li i u kojoj mjeri način renderiranja utječe na brzinu i kvalitetu rada rendera.
Usporedba je pokazala da je u ovoj fazi razvoja Octane brži render u odnosu na Arion i Fryrender. To je malo iznenađujuće obzirom da Arion render koristi GPU i CPU. Za pretpostaviti je da je razlog tome neoptimiziranost koda pošto oba programa koriste iste matematičke modele za izradu slika. Ta razlika će se postupno smanjivati kako će se programi dalje razvijati.
Fryrender je naočigled lošiji od ostala dva rendera što je bilo i za očekivati jer prilikom svojih izračuna koristi samo CPU. Arion i Octane su vrlo dobri i brzi renderi, međutim Octane daje realniju i kvalitetniju sliku u kraćem vremenu bez puno dodatnih postavki. Octane kao GPU render ima drugačije algoritme pretvaranja 3D modela u 2D sliku, koji su očito brži od Arionovih.
Premda ih zbog njihove relativne sporosti i nedostataka naprednijih mogućnosti nije poželjno koristiti u najzahtjevnijim granama 3D produkcije poput filmske i TV produkcije, razvoj hardwarea i nadogradnja programa će tu situaciju zasigurno promijeniti.

6. Literatura

  • http://en.wikipedia.org/wiki/Fryrender, lipanj 2012
  • http://randomcontrol.com/downloads/brochures/fryrender_brochure.pdf, lipanj 2012
  • http://randomcontrol.com/downloads/brochures/fryrender_features_list.pdf, lipanj 2012
  • http://novedge.com/products/4396?ITS=OMNU, svibanj 2012
  • http://randomcontrol.com/arion, lipanj 2012
  • http://render.otoy.com/demotutorial.html, srpanj 2012
  • http://en.wikipedia.org/wiki/LightWave_3D, srpanj 2012
  • http://archive3d.net/, srpanj 2012
Patrik Ervells latest collection is ironically titled “Software”ADIDAS ORIGINALS TUBULAR SHADOW. In the notes from the presentation, Ervell says he was interested in developing tension between nostalgia and sci-fi,NIKE ZOOM WINFLO 3 and even included 90s cyberpunk amongst his influences. Ervell developed this point of view by creating an imaginary software company called Idegen software systems. He then re-appropriated the company’AIR JORDAN XXXI MENs logo in several of the collection’s garments. Elsewhere,MBT TARIKI MEN mohair coats with oversized lapels made an appearance alongside mock neck tees,NIKE AIR JORDAN RETRO 5 police-inspired ribbed sweaters,MBT FORA GTX WOMEN flight bombers, and polyurethane leather coats. The setting was also suitably dystopian, and the resulting ambiance was something akin to if the creators of Deutschland 83 and Hackers met up and decided to create a collection… We mean that as a compliment.Yesterday afternoon,JORDAN CP3 IX MEN artist JR spent the day working on his latest collaborative piece with Daniel Arsham in Greenpoint,NIKE AIR MAX 90 Brooklyn,MBT KIMONDO GTX MEN NYC. Connecting the lines between art, architecture, dance and theater, Daniel Arsham has been known to subvert existing architectural structures in unconventional,NIKE CLASSIC CORTEZ NYLON playful ways; confusing and confounding the expectations of space and form. Source: Street Art News .