Zmarnowana moc - rendering zakrytych powierzchni
Drugą rzeczą, o której musimy pamiętać, jest fakt, że wiele pikseli jest renderowanych na darmo. Jeżeli jednostka pozycjonowania trójkątów dostaje trójkąt, który znajduje się gdzieś w tle sceny, gdzie jest częściowo lub nawet całkowicie zasłonięty przez trójkąty znajdujący się przed nim, zrobi to co zawsze robi - zmieni ten trójkąt w piksele. Potem, te piksele zostaną przesłane jednostce renderującej. Tutaj właśnie ma miejsce dostęp do Z-bufora i jest odczytywana współrzędna 'z' piksela w tym punkcie, gdzie ma być narysowany. Jeżeli wartość w Z-buforze wynosi zero, co oznacza, że nic jeszcze nie było rysowane w tym miejscu, albo jeżeli okazuje się , iż ten nowy piksel powinien znaleźć się przed wartością znalezioną w Z-buforze, piksel zostaje wyrenderowany, a współrzędna Z tego nowego piksela zostaje zachowana w Z-buforze. Problem polega na tym, że potok renderujący już zmarnował jeden takt zegara, nawet jeżeli nowy piksel ma współrzędną Z za pikselem już narysowanym w tym punkcie, co oznacza, że zostanie pominięty. Nawet jeżeli zdarzyłoby się, że ten nowy piksel zostanie wyrenderowany i zachowany, możliwe jest, iż kolejny trójkąt zakryje ten piksel, więc ten już 'stary' piksel zostanie nadpisany. Po raz kolejny piksel został narysowany na darmo.
Mam nadzieję, że ten schemat blokowy pomoże wam w zrozumieniu tego:
Mam nadzieję, że wyjaśniłem dwa najważniejsze problemy renderingu 3D w cokolwiek zrozumiały sposób. Przede wszystkim, jednostka marnuje cenną moc renderingu na rysowanie, czy chociaż otrzymywanie pikseli, które nigdy nie będą widziane na ekranie. Każdy z tych "bezużytecznie wyrenderowanych pikseli" zmniejsza szybkość wypełniania. Drugim problemem jest Z-bufor. Dostęp do niego ma miejsce dwa razy dla każdego piksela w każdym trójkącie sceny, czyli kilka razy więcej od rozdzielczości ekranu. Te dostępy do Z-bufora zabierają niesamowicie wielką część przepustowości pamięci. W rzeczywistości, Z-bufor jest najbardziej obciążonym obszarem lokalnej pamięci wideo.
Poza architekturą kafelkową, jaką znamy z podejścia Videologic i pomysłem Talisman Microsoftu, ATi jest pierwszym producentem układów 3D głównego rynku, który opracował technologię rozwiązującą oba problemy - zmarnowaną szybkość wypełniania i zmarnowaną przepustowość pamięci.
WSTECZ | DALEJ: B - HyperZ
 |
| Spis treści |  |
|
|