Nvidiina šifra
Za "resno delo", za "CAD" in za "inženirsko oblikovanje", potrebujemo "grafično postajo". Tako nas vsaj prepričujejo. In vendar izraz "grafična postaja" v zadnjem času ponazarja le osebni računalnik z veliko pomnilnika, hitrim procesorjem (ponavadi Intel Xeon) in hitro grafično kartico (ponavadi nVidia Quadro). Zapičili smo se v slednjo - je za delo z inženirskimi programi res nujna?
Pričujoče besedilo je je nadaljevanje članka "Kdo koga vleče za nos?", objavljenega pred dobrim letom dni (Monitor 11/11). V njem smo ugotavljali, ali so igričarske grafične kartice dovolj zmogljive za arhitekturne programe CAD. Izkazalo se je, da arhitekti z njimi ne bodo imeli težav, vendar je članek med našimi bralci sprožil kar nekaj odzivov, češ naj preizkus ponovimo tudi z inženirskimi programi. V profesionalnem svetu uporabnikov grafično zahtevnih aplikacij pač številčno prevladujejo inženirji in tudi ti si želijo izvedeti, kaj pravzaprav skriva "nVidiina šifra", ki bi jo lahko interpretirali takole: "Nvidia Quadro ponazarja hitrost, zanesljivost in, najpomembneje - je starodaven simbol za grafične postaje. V sebi nosi tako osupljivo skrivnost, da bi, če bi bila razkrita, zamajala temelje grafike v računalništvu."
Ali res?
Uporaba celozaslonskega glajenja robov je posebej pomembna ob uporabi žičnih pogledov s skritimi robovi.
Večna dilema
Razprava o primernosti igričarskih grafičnih kartic za profesionalne namene že vrsto let buri duhove, še posebej, če vemo, da se pod orjaškimi ventilatorji skriva praktično enaka strojna zasnova kot pri profesionalnih bratih, njeno usodo zapečatijo drugačne tovarniške nastavitve v BIOSih. Do pred nedavnim je bilo mogoče v igričarske kartice Geforce naložiti kartico BIOS Quadro in tako pretentati programe, ki so za delo zahtevali slednje, a so izdelovalci to vrzel kaj kmalu pokrpali.
Nvidia s serijo Quadro in AMD s serijo FirePRO se v svojih marketinških publikacijah močno spopadata za trg grafičnih postaj. Omenjeni seriji kartic se znajdeta celo v boljših prenosnikih in obljubljata krepko boljše rezultate ob upodabljanju predvsem 3D modelov "v živo". Če pobrskate po spletu, boste kmalu našli več video posnetkov, ki vzporedno primerjajo učinkovitost Quadrov z Geforcei. Tu seveda profesionalne kartice krepko prehitijo igričarske po hitrosti izrisa in kakovosti slike ter neukega bodočega uporabnika kaj kmalu prepričajo, da je zelo pametno zapraviti kar nekajkrat več denarja za kartico Quadro. Odločili smo se, da bomo to preizkusili sami.
Kako smo preizkušali
Med vrsto inženirskih programov smo tokrat izbrali tri, ki nekako krojijo vrh ponudbe - DS Solidworks, PTC Creo (nekdanji Pro Engineer) in Autodesk Inventor, vse v zadnjih različicah. Vanje smo naložili zahtevne kompozicije 3D modelov, jih pošteno rotirali, oddaljevali in približevali ter si pri različnih načinih upodobitev zapisovali hitrost v sličicah na sekundo (FPS). Žal smo morali takoj opustiti program Creo, saj smo zaman iskali način, kako bi rezultate verodostojno izmerili. Druga dva kandidata sta prikazala prav presenetljiv dvoboj med različnima programskima grafičnima jedroma. Na eni strani je Solidworks, ki za upodabljanje uporablja gonilnike OpenGL, na drugi strani pa Inventor z gonilniki DirectX. Svoje mišice so kazale profesionalne kartice Quadro 4000 (1008 EUR), Quadro 2000 (558 EUR), Quadro 600 (220 EUR) in igričarske kartice Geforce 670 GTX (435 EUR), Geforce 650 GTX (120 EUR) ter prastara Geforce 8800 GT (letnik 2006, ni več naprodaj). Hiter pogled na cene omenjenih kartic nas takoj postavi med simpatizerje igričarskega čipovja, saj je vrhunski Geforce 670 GTX cenejši od povprečnega Quadra 2000. Resnica pa se skriva veliko globlje.
Solidworks
Kot rečeno, grafični pogon programa SolidWorks temelji na odprtokodni knjižnici OpenGL, s pomočjo katere upodablja 3D modele v realnem času. Kompleksno kompozicijo avtomobilčka na daljinsko vodenje smo vrteli po virtualnem prostoru na dveh monitorjih. Test smo ponovili z različnimi načini prikaza - senčeno z robovi, senčeno brez robov, skrito, prosojno in žično, saj ti različno izkoriščajo moč centralnega procesorja. Vse smo preverili tudi z različni stopnjami celozaslonskega glajenja robov (antialiasing).
Dolgotrajen preizkus nas je na koncu pustil odprtih ust in izbuljenih oči. Vse kartice so dosegle praktično enake rezultate! Seveda smo takoj pomislili, da gre za napako, in zadevo preverili tudi s strojne strani. V računalnik smo namestili program GPU-Z, ki prikazuje zasedenost grafičnega procesorja, obenem pa prek upravitelja opravil opazovali štirijedrni centralni procesor (Intel Core 2 Quad Processor Q9000). Kljub strojno pospeševani grafiki smo pri vseh karticah opazili, da levji delež še vedno opravlja centralni procesor. Med testi je bilo prvo jedro obremenjeno 60 %, preostala tri pa po 20 %. Procesorji grafičnih kartic so bili vedno obremenjeni le nekako od 20 % in 30 %.
Razlike med karticami so se začele kazati šele med višanjem nastavitev celozaslonskega glajenja robov na nadzorni plošči grafičnih gonilnikov Nvidia. Pri glajenju 16x je Quadro 600 obnemogel, 2000 je bil zaseden 62 %, 4000 32 %, igričarski Geforce 670 GTX pa je ostal pri 24 %. 64x glajenje je uspelo le Quadru 4000 pri 84 % obremenjenosti, Geforce 670 GTX je ostal pri le 32x glajenju z obremenjenostjo 30 %, saj mu gonilniki niso dopuščali več. Izmerjene številke prikazujejo bistveno večjo moč procesorjev v Geforceih, a se obenem zastavlja vprašanje smiselnosti, saj 8x glajenje robov daje že povsem zadovoljive rezultate, to pa zmore čisto vsaka kartica na testu. Razliko bi lahko občutili le uporabniki sistemov z več kot dvema monitorjema, a takim vstopni modeli kartic sploh niso namenjeni.
Do tu vse lepo in prav. Kljub temu da boste z vsemi preizkušenimi karticami lahko načeloma normalno delali, ponuja Solidworks poseben grafični prikaz, imenovan "RealView", ki omogoča žive refleksije in sence in je nasploh bistveno lepši, a žal za delovanje zahteva kartice Quadro ali FirePRO, to navaja tudi izdelovalec. Pri Geforceih je tak način preprosto onemogočen. Seveda se nam takoj porodi sum o zaroti oz. podlih dogovorih med izdelovalci kartic in programja, saj sumimo, da bi bistveno cenejše igričarske kartice "RealView" lahko prikazovale brez težav. Jasno nam Nvidia tega ne dovoli, saj na Quadrih kar dobro služijo. Rešitev seveda je na voljo - hekerska. Na svetu je pač na milijone genialnih študentov s preveč prostega časa, ki se bojujejo proti takim diktatorskim politikam. Eden izmed njih je napisal brezplačen programček "Realhack 2.0", ki pretenta Solidworks, da je v vašem računalniku nameščen Quadro, čeprav imate Geforce. Namestili smo ga in - privarčevali kar nekaj denarja, pogled RealView smo brez težav prikazovali tudi na predpotopni igričarski kartici Geforce 8800 GT.
Odgovor: Kaj pravi nVidia?
Za razlago rezultatov, ki smo jih dobili s preizkusom, smo povprašali tudi proizvajalca grafičnih kartic - nVidio. Težave se zavedajo, po njihovih besedah pa je "krivec" dejstvo, da so v zadnjem času grafični procesorji v primerjavi s centralnimi procesorji nesorazmerno napredovali. Kompleksne scene namreč zelo obremenjujejo pomnilnik, centralni procesor in poti do njega, hkrati pa tudi grafični cevovod, zato množica senčilnikov na grafični kartici enostavno ne pride do izraza. nVidia menda tesno sodeluje z Avtodeskom (in drugimi proizvajalci inženirskih/CAD programov) in se trudi odpraviti množico podatkovnih prenosov, ki včasih niso nujni.
Rezultati uporabnikov na straneh www.solidworks.com kažejo, da so rezultati na računalnikih s hitrejšimi procesorji sicer hitrejši, (ne)razmerja med grafičnimi karticami pa ostajajo.
Solidworksov pogled "RealView" postavi model na bistveno višjo kakovostno raven upodabljanja.
RealView na Geforceu? Brez težav, a le z uporabo programčka "RealHack".
Inventor
Autodeskovi programi so si med seboj zelo podobni in si večinoma delijo programsko grafično jedro. Pred letom dni opravljeni preizkus v Autocadu je pokazal izenačen rezultat med igričarskimi in "profesionalnimi" karticami, zato smo enak rezultat pričakovali tudi v Inventorju. Slednjega za razliko od Solidworks poganja knjižnica DirectX, ki je temelj vseh sodobnih računalniških igric in tako kartice Geforce že avtomatsko postavlja v ospredje, saj imajo praviloma hitrejše in bolj navite grafične procesorje in pomnilnik.
Po navideznem 3D prostoru smo tokrat vrteli kompozicijo 100 kock, s kompleksnimi izrezi in utori. Inventor omogoča bistveno večje število različnih "živih" prikazov, celo simulacijo skice ali akvarela, a smo se za test omejili na enakih kot pri Solidworks. Dodatno smo teste opravili z vklopljenimi sencami in refleksijami in brez njih, saj zahtevajo večji del procesorske moči. Po pričakovanju so bili rezultati praktično enaki na vseh karticah in minimalna odstopanja pripisujemo napakam pri merjenju. Tudi tu večji delež grafičnega upodabljanja opravi glavni procesor z obremenjenostjo 4 jeder 100 %, 70 %, 0 %, 0 %, medtem ko so na vseh karticah procesorji delovali med 20 % in 30 % obremenjenostjo. Inventor se od Solidworksa razlikuje še po tem, da pri njem celozaslonske nastavitve glajenja robov na Nvidiini nadzorni plošči ne vplivajo na kakovost slike. Njegov grafični pogon ima glajenje že v osnovi vklopljeno in ga ni mogoče spreminjati, to pa postavlja smiselnost močnejših kartic pod velik vprašaj, saj z njimi ne pridobimo kaj dosti.
Vrhunska upodobitev bloka motorja z uporabo šest let stare kartice Geforce 8800 GT. V živo!
Je šifra razvozlana?
Mistična atmosfera okoli nakupa grafične kartice tako ostaja nespremenjena, saj si lahko "Nvidiino šifro" razlaga vsak po svoje oz. po svojih potrebah. Če stavite na SolidWorks in ne morete delati brez načina "RealView", je Quadro praktično edina (uradno podprta) izbira, a ne pretiravajte z zapravljanjem, saj bo model 2000 ob zmernem glajenju robov zadostil veliki večini uporabnikov.
Če vam uradna tehnična pomoč ne pomeni kaj dosti oz. se tudi vi upirate nategovanju uporabnikov s strani izdelovalcev, si raje namestite omenjeni programček "RealHack", z njim vam bo zadoščala praktično katerakoli poceni igričarska grafična kartica, ki vam pride pod roke.
Pri Inventorju je izbira še toliko lažja, saj so čisto vse kartice postregle z enakimi rezultati. Tudi po jedrih CUDA se nima smisla ozirati, saj jih nobeden program ne izkorišča neposredno, izjeme so le nekateri dodatki za Inventor.
Za konec bi lahko malce ironično rekli, da si kartico izberite na podlagi tistega, kar z računalnikom počnete zunaj inženirskih programov. Če radi igrate igrice, renderirate s 3DS Maxom ali delate z video urejevalniki, ki podpirajo CUDA, so močnejše Geforce kartice logična izbira. Solidworks nam praktično (a na srečo neuspešno) narekuje uporabo Quadrov, saj je "RealView" v vseh pogledih čudovit in bi ga bilo greh ne uporabljati. Morda je najbolje, da kupite kartico srednjega cenovnega razreda in preostali denar namenite čim hitrejšemu centralnemu procesorju. Verjetno bi bilo bolj zanimivo, ko bi isto kartico preizkušali v računalnikih z različnimi procesorji, morda v kakem drugem članku.
Grafične kartice Geforce in Quadro je posodilo podjetje Eventus Computers.
O avtorju
David Osivnik je diplomiral na Fakulteti za arhitekturo v Ljubljani in magistriral na Illinois Institute of Technology v Chicagu v ZDA, tam je tudi predaval osnove Autocada nižjim letnikom. S programi za CAD se ukvarja od leta 1990.