Grafick² v²kon poΦφtaΦe je ovliv≥ovßn mnoha jeho slo₧kami, poΦφnaje procesorem, sb∞rnicφ, pam∞tφ a grafickou kartou a konΦe operaΦnφm systΘmem, 3D zobrazovacφ knihovnou (rendering subsystem) a vylad∞nφm aplikaΦnφch program∙. V tomto Φlßnku p°edstavujeme mo₧nost ov∞°enφ 3D grafickΘho v²konu z globßlnφho, u₧ivatelskΘho hlediska.
Balφk test∙ VRMLBenchmark vyvinut²ch na FEL ╚VUT Praha (hlavnφm programßrorem byl student Jaroslav K°ivßnek) m∞°φ v²kon p°i zpracovßnφ t°φrozm∞rn²ch scΘn popsan²ch jazykem VRML. Na rozdφl od jedno·Φelov²ch test∙, jak²mi jsou nap°φklad SPECint pro rychlost procesoru Φi SPECglperf pro knihovnu OpenGL, m∞°φ VRMLBenchmark grafick² v²kon z r∙zn²ch hledisek, a dovoluje tak porovnat celkovΘ nastavenφ poΦφtaΦe pro pot°eby zobrazovßnφ t°φrozm∞rn²ch scΘn a objekt∙.
VRMLBenchmark
Jazyk VRML (Virtual Reality Modeling Language) je pou₧φvßn pro popis virtußlnφch sv∞t∙ û t°φrozm∞rn²ch objekt∙ a prostorov²ch scΘn. Tyto um∞lΘ sv∞ty jsou typicky dostupnΘ z internetu a lze je prohlφ₧et pomocφ b∞₧n²ch webov²ch prohlφ₧eΦ∙ dopln∞n²ch modulem (plug-in) pro prezentaci VRML obsahu. Podobn∞ jako existuje vφce operaΦnφch systΘm∙ a vφce webov²ch prohlφ₧eΦ∙ (MS IE, Netscape), m∙₧eme se takΘ setkat s r∙zn²mi moduly pro prohlφ₧enφ VRML model∙.
Bez ohledu na konkrΘtnφ hardwarovou a softwarovou konfiguraci je p°i zobrazovßnφ VRML sv∞t∙ v₧dy cφlem co nejvyÜÜφ rychlost generovßnφ obrßzk∙. Aby se systΘm mohl prßvem naz²vat systΘmem pro virtußlnφ realitu, je t°eba docφlit rychlosti alespo≥ 25 fps (frames per second û snφmk∙ za sekundu). P°i tΘto a vyÜÜφ hodnot∞ je rychlost dostateΦnß pro vyvolßnφ dojmu plynulΘho pohybu. Kdy₧ poΦet snφmk∙ za sekundu klesß, pohyb se stßvß trhan∞jÜφm. Prßv∞ nßroΦnost zobrazovßnφ virtußlnφch scΘn vedla studenty na Kated°e poΦφtaΦ∙ FEL ╚VUT v Praze k vytvo°enφ sady benchmark∙ (benchmark û v²konnostnφ test, pro obtφ₧n² p°eklad psßno dßle anglicky) vyu₧φvajφcφch VRML. Vzhledem k tomu, ₧e se na zobrazovßnφ podφlejφ tΘm∞° vÜechny HW a SW souΦßsti poΦφtaΦe, majφ tyto benchmarky schopnost vypov∞d∞t o grafickΘ kvalit∞ poΦφtaΦe jako celku.
O co tedy jde? U₧ivatel dostane sadu webov²ch strßnek, kterΘ obsahujφ zßkladnφ testy a applety m∞°φcφ pr∙m∞rnou rychlost zobrazovßnφ ve fps. Tato hodnota je klφΦovou pro urΦenφ v²konu poΦφtaΦe. Za p°edpokladu, ₧e prohlφ₧eΦe VRML pracujφ sprßvn∞ a nedopouÜt∞jφ se chyb Φi zjednoduÜenφ, nap°φklad p°i zpracovßnφ textur nebo sv∞tel, lze snadno a p°φmo °φci, ₧e Φφm vyÜÜφ je hodnota fps, tφm lepÜφ jsou schopnosti poΦφtaΦe z hlediska 3D grafiky. U₧ivatel tak mß jednak mo₧nost vyzkouÜet si, zdali jeho poΦφtaΦ zvlßdne "prochßzku virtußlnφm sv∞tem" dostateΦn∞ plynule, jednak zφskß hodnoty fps vhodnΘ ke srovnßvßnφ s jin²mi systΘmy.
Co vÜe se testuje
SamotnΘ testy jsou podle charakteru rozd∞leny do n∞kolika kategoriφ. M∙₧eme °φci, ₧e ka₧d² druh testuje r∙znΘ slo₧ky v²poΦetnφho systΘmu. Nap°φklad testy objekt∙ slo₧en²ch z mnoha polygon∙ jsou nßroΦnΘ na v²poΦty realizovanΘ procesorem, resp. grafickou kartou, je-li schopna provßd∞t transformace ve 3D, zatφmco testy textur zatφ₧φ texturovacφ pam∞¥ grafickΘ karty apod. Balφk VRMLBenchmark obsahuje nßsledujφcφ skupiny test∙:
1. Polygony
V t∞chto testech se m∞°φ rychlost zobrazovßnφ rotujφcφho objektu slo₧enΘho z mnoha ploÜek. Model je zobrazovßn nejprve pomocφ tisφce troj·helnφk∙ a poΦet ploÜek pak dßle stoupß a₧ na padesßt tisφc. Toto maximum je mimochodem vhodnΘ i pro m∞°enφ pam∞¥ov²ch nßrok∙. V testech nenφ pou₧it ₧ßdn² zvlßÜtnφ materißl t∞lesa ani osv∞tlenφ. Zßvislost rychlosti zobrazovßnφ na poΦtu polygon∙ je z°ejmß.
2. Materißly a mlha
Materißl t∞lesa ve VRML mß mnoho parametr∙ (barva odra₧enΘho sv∞tla, vyza°ovanß barva, pr∙hlednost atd.). Pro ka₧d² z t∞chto parametr∙ byl vytvo°en test na stejnΘm modelu (slo₧enΘm z deseti tisφc polygon∙). Dßle m∙₧eme pou₧φt vÜechny parametry najednou a takΘ v kombinaci s osmi sm∞rov²mi zdroji sv∞tla. V poslednφm testu je zobrazovßna scΘna s n∞kolika objekty v mlze v r∙zn²ch vzdßlenostech od u₧ivatele. Tyto testy prov∞°ujφ p°edevÜφm rychlost grafickΘ karty a kvalitu zobrazovacφho podsystΘmu, nap°φklad OpenGL Φi Direct3D.
3. Sv∞telnΘ zdroje
Zde se testujφ scΘny se sm∞rov²mi a bodov²mi sv∞tly, stejn∞ jako s nßroΦn∞jÜφmi sv∞teln²mi ku₧ely. Ka₧d² objekt je osv∞tlen Φty°mi, osmi a dvanßcti sv∞teln²mi zdroji. Pou₧φvßte-li OpenGL, m∙₧e se stßt, ₧e dvanßct sv∞teln²ch zdroj∙ nebude sprßvn∞ zobrazeno, nebo¥ n∞kterΘ implementace OpenGL majφ nastaven hornφ limit poΦtu sv∞tel na osm. U₧ivateli je proto pro porovnßnφ poskytnut obrßzek ukazujφcφ oΦekßvanΘ v²sledky.
4. Textury
Tato sada test∙ se zam∞°uje na velikost a poΦet textur. Jedna textura v r∙zn²ch rozliÜenφch je nanßÜena na slo₧it² objekt slo₧en² z mnoha tisφc ploÜek. Rozm∞r ΦtvercovΘ textury se m∞nφ z jednoho bodu a₧ na 4096 pixel∙. Poslednφ test je pam∞¥ov∞ velmi nßroΦn², nebo¥ jen data obrßzku textury zabφrajφ po rozbalenφ v pam∞ti tΘm∞° 50 MB.
DalÜφ scΘna pro testovßnφ textur se sklßdß z 1024 drobn²ch objekt∙. Na n∞ je pak nanßÜena jedna textura, resp. 512 a 1024 r∙zn²ch textur. P°esto₧e je pro ka₧dou z textur pou₧it pom∞rn∞ mal² obrßzek (128 x 128 pixel∙), p°i velkΘm poΦtu textur je pam∞¥ovß nßroΦnost op∞t v²raznß.
Poslednφ scΘna je malou specialitkou û ka₧d² z jejφch 1024 objekt∙ je definovßn zvlßÜ¥ a ne jako kopie jedinΘho vzoru. N∞kterΘ VRML prohlφ₧eΦe dokß₧φ rozpoznat, ₧e vÜechny objekty jsou stejnΘ, a pou₧ijφ proto rozumn∞ malΘ mno₧stvφ pam∞ti. JinΘ prohlφ₧eΦe naopak zaplnφ pam∞¥ tisφcem zcela stejn²ch textur, co₧ v²razn∞ zpomalφ zobrazovßnφ. Tato sada test∙ tedy m∞°φ jak kvalitu implementace prohlφ₧eΦ∙ VRML, tak schopnosti grafickΘ karty p°i zpracovßnφ textur.
5. Zpracovßnφ udßlostφ
Poslednφ dva testy m∞°φ to, jak zpracovßvßnφ zasφlßnφ udßlostφ ve VRML sni₧uje rychlost zobrazovßnφ. Na jazyk VRML toti₧ lze nahlφ₧et takΘ jako na simulaΦnφ jazyk, a je tedy vhodnΘ m∞°it vnit°nφ ΦasovΘ nßroky (re₧ii) p°i vyhodnocovßnφ udßlostφ. Testovacφ scΘny obsahujφ ΦasovaΦ, kter² zasφlß udßlosti do 2000, resp. 4000 jin²ch uzl∙.
V²sledky
Sada benchmark∙ je mimo jinΘ zajφmavß i tφm, ₧e ΦßsteΦn∞ dovoluje u₧ivateli doladit jeho poΦφtaΦ po strßnce 3D grafickΘho v²konu. Zatφmco konfiguraci svΘho hardwaru v∞tÜina u₧ivatel∙ jen t∞₧ko okam₧it∞ zm∞nφ, n∞kterΘ softwarovΘ souΦßsti zobrazovacφho °et∞zce lze konfigurovat. P°φkladem je volba prohlφ₧eΦe VRML. N∞kterΘ prohlφ₧eΦe jsou velmi rychlΘ, ovÜem jen za p°edpokladu, ₧e majφ dostatek operaΦnφ pam∞ti. JinΘ jsou pam∞¥ov∞ ·sporn∞jÜφ p°i rozumnΘm zachovßnφ celkovΘho v²konu.
ObzvlßÜ¥ zajφmavΘ je srovnßnφ knihoven OpenGL a Direct3D. V souΦasnΘ dob∞ se objevujφ jejich implementace jak v Φist∞ softwarovΘ podob∞, tak v hardwaru grafickΘ karty. V²znamn² vliv na efektivitu jejich pou₧itφ mß p°itom i sprßvn² ovladaΦ (driver) pro dan² operaΦnφ systΘm. Pokud VRML prohlφ₧eΦ umφ p°epφnat mezi knihovnami OpenGL a D3D, lze pomocφ VRMLBenchmarku zjistit, kterß z knihoven si lΘpe "rozumφ" s danou grafickou kartou a operaΦnφm systΘmem.
Celß sada benchmark∙ byla zatφm vyzkouÜena jen na omezenΘm poΦtu konfiguracφ. èlo o prost°edφ MS Windows s prohlφ₧eΦi Netscape a MS IE. Bylo pou₧ito r∙zn²ch prohlφ₧eΦ∙ VRML (blaxxun Contact, Cortona, CosmoPlayer, WorldView) a nastavenφ na OpenGL a D3D, a¥ ji₧ se softwarovou Φi hardwarovou implementacφ. V²sledky ukazujφ, ₧e jednotlivΘ konfigurace se pom∞rn∞ v²razn∞ liÜφ a ₧e na poΦφtaΦi s dan²m procesorem a danou velikostφ pam∞ti RAM lze docφlit a₧ dvojnßsobnΘho zv²Üenφ v²konu nastavenφm vhodnΘ kombinace vÜech SW souΦßstφ.
Zßv∞rem
Sada test∙ VRMLBenchmark p°edstavuje nov² a zajφmav² zp∙sob testovßnφ grafickΘho v²konu poΦφtaΦ∙ ve 3D. Benchmarky vy₧adujφ pouze webov² prohlφ₧eΦ s VRML modulem (zdarma zφskateln²m podle v²b∞ru u₧ivatele a pro r∙znΘ platformy) a v²slednß Φφsla, tj. hodnoty fps, jsou srozumitelnß a snadno srovnatelnß. ╚asopis Chip se proto rozhodl pou₧φvat tyto benchmarky jako dalÜφ z kritΘriφ pro srovnßvacφ testy v²konu poΦφtaΦ∙.
VRMLBenchmark je voln∞ dostupn² na internetu (www.cgg.cvut.cz/VRML/Benchmarks/). Velikost celΘ sady vΦetn∞ vÜech textur je 8 MB. V souΦasnΘ dob∞ probφhß testovßnφ na r∙zn²ch platformßch a HW a SW konfiguracφch. Studenti Katedry poΦφtaΦ∙ FEL ╚VUT p°ipravujφ i rozhranφ, kterΘ dovolφ porovnßvat v²sledky z r∙zn²ch m∞°enφ formou interaktivnφho prostorovΘho grafu, pochopiteln∞ ve VRML. U₧ivatelΘ budou takΘ moci zasφlat v²sledky sv²ch test∙ do p°ipravovanΘ databßze benchmark∙. Dosud nep°φliÜ bohatß strßnka s v²sledky m∞°enφ tak brzy zφskß nov² atraktivnφ obsah.