Testy rychlosti při použití textur |
|
Všechny objekty ve VRML mohou být pokryté texturou. Ta nahrazuje difůzní složku materiálu. Při výpočtu barvy bodu na povrchu objektu se použijí všechny materiálové konstanty kromě difůzni složky. Ta se získá z textury pomocí mapování textury na objekt. Takto by to mělo fungovat, ovšem mnoho prohlížečů se chová jinak. Některé prohlížeče totiž u otexturovaného objektu ignorují průhlednost a zrcadlový odraz. Při mapování textury na objekt nastává aliasing. Ten lze částečně odstranit bilineárním průměrováním, které je ovšem časově náročné. Některé prohlížeče ho provádějí, jiné ne. Při porovnávání rychlosti texturování v různých prohlížečích je tedy nutné dbát na to, aby kvalita texturovacího procesu byla u všech porovnávaných prohlížečů nastavena stejná. V tomto testu porovnáme rychlost zobrazení objektu bez textury a s texturou ruzné velikosti a také s různým počtem textur. Testy jsou rozděleny do dvou částí. V první části je nanášena textura různé velikosti na jeden objet (10000 trojúhelníků). Scény jsou shodné, mění se pouze textura objektu. Nejdříve je objekt bez textury, pak s texturou velikosti 1x1 pixel, 512x512 pixelů, 2048x2048 pixelů a nakonec 4096x4096 pixelů. POZOR!!! Velikost nekomprimovaných obrazových dat pro texturu velikosti 4096x4096 je 50MB a proto pokud nemáte v počítači nejméně 64MB RAM, raději tento test přeskočte. Druhá část testů je určena ke zjištění toho, jak si Váš prohlížeč poradí s velkým množstvím textur. Scéna je opět stále stejná. Sestává z matice 32x32 osmiúhelníků, dohromady 1024 objektů (8192 trojúhelníků). V prvním testu jsou bez textury, v druhém testu je na všech stejná textura (opakuje se pomocí konstrukce DEF/USE), pak je použito 512 a 1024 textur. V posledním testu je na všech objektech nanesena stejná textura, ale nepoužívá se konstrukce DEF/USE. Snímková frekvence naměřená v tomto testu by měla být shodná buď s testem kde je použita jedna textura nebo s testem s 1024 texturami. V prvním případě to znamená, že je prohlížeč "inteligentní" a pozná, že se neustále opakuje stejná textura a použije tuto texturu pouze jednou. V druhém případě prohlížeč zkopíroval do paměti stejnou texturu v 1024 kopiích a pro texturování každého objektu bere data z jiného místa v paměti, i když jsou tam obsažená data stejná. POZOR!!! Velikost jedné textury je 128x128 pixelů. Při použítí 1024 různých textur to znamená opět 50MB obrazových dat. Testy:
|
Jaroslav Křivánek | CGG FEL ČVUT | Jiří Žára |