Vlákno názorů k článku Grafické algoritmy implementované v 3D akcelerátoru Voodoo 1 od ondra.novacisko.cz - Zdálo by se, že paměť hloubky řeší problém...

  • Článek je starý, nové názory již nelze přidávat.
  • 7. 1. 2010 12:50

    ondra.novacisko.cz

    Zdálo by se, že paměť hloubky řeší problém překryvů bez nutnosti řadit scénu. Není to tak úplně pravda.

    Velkým zdržovákem všech grafických karet je overdraw, tedy kresba velkých ploch. Dříve uváděný výkon v trianglech za sekundu je tedy zavádějící, zajímavější je číslo udávající počet pixlů za sekundu. Přitom ani to není správně, protože nakreslit pixel na obrazovce může být dost náročné, zejména pokud je to spojeno s komplikovaným výpočtem v pixel shaderu.

    Voodoočka ovšem také dost znatelně trpěly na overdraw a pár velkých otexturovaných ploch je umělo vytížit dokonale, než tisíce malých trojúhelníků.

    Výhodou Z-testu je také to, že je v celé pipe-line dost vysoko a pokud pixel neuspěje v Z-testu, další operace se vynechají, ušetří se výkon.

    Proto má stále smysl řadit scénu odpředu dozadu. Kreslit nejprve objekty nejblíž, a pak objekty nejdal.

    Dalším důvodem řazení je alpha-blending. Tady musíme scénu řadit odzadu dopředu. Lze to i dělat obráceně, ale musíme mít k dispozici alpha-buffer.

    Proti tomu jde ale řazení scény s ohledem na změnu stavu. Právě tohle je největší problém všech těch grafických engine, které mají různých výkon na stejným HW. Většina dnešních karet dosahují největšího výkonu při proudovém zpracování dat. Pokud ale scénu musím řadit, zvětšuje se množství fragmentů, které nelze zpracovávat proudově, musí se proudy přerušovat. Ušetřený výkon na Z-testu tak můžeme ztratit na přerušování proudu. Univerzální řešení neexistuje.

  • 7. 1. 2010 13:21

    Pavel Tišnovský
    Zlatý podporovatel

    Presne tak, usporadani objektu ve scene urcite renderovacimu vykonu pomuze, ale Tebou zminovane serazeni polygonu je uz nizkourovnova operace.

    Nejlepsi je mit navic nad scenou (kdyz je scena opravdu velka, tj. interiery a exteriery ve hrach) vybudovanou nejakou dalsi datovou strukturu, treba BSP, portaly, hierarchickou mrizku nebo okludery (tak je to tusim resene v Mafii, ktera ma hodne exterieru, takze portaly by zde nebyly efektivni).