Silnik przetwarzania pikseli
Ten schemat przedstawia rozkład procesora graficznego GeForce 6800.
Architektura silnika pikseli NV40 jest w praktyce stworzona całkowicie od nowa i niemalże w niczym nie przypomina poprzedników. Po długich ubiegłorocznych dyskusjach nad specyfikacją potoków pikseli w NV35/38, nVIDIA zdecydowała się zdefiniować je jako architekturę 4x2 / 8x0. NV40 natomiast kieruje się w stronę 16x1 (16 pikseli na takt z kolorem i Z) / 32x0 (32 piksele na takt tylko Z). Oznacza to, że NV40 posiada 16 prawdziwych potoków pikseli.
Celem wyjaśnienia, oto parę przykładów co to oznacza w świecie rzeczywistym. Doom III mocno wykorzystuje cienie szablonowe. Aby wyrenderować cienie objętościowe, stosuje się tylko bufor szablonowy. Z tego też powodu NV40 w takich sytuacjach może wyliczyć 32 piksele na takt zegara, podczas gdy układy NV35/38 mogły wyrenderować jedynie 8. W Game Test 1 zestawu 3DMark 2003 nakłada się głównie tylko jedną teksturę na raz. W tym przypadku NV40 może wyrenderować 16 pikseli na takt zegara (NV35/38 natomiast 4). W Quake III większość obiektów jest teksturowanych dwoma teksturami, co oznacza, że NV40 jest w stanie wyrenderować 8 pikseli na takt (NV35/38 również 4).
W przeciwieństwie do poprzednika, potoki procesorów pikseli NV40 są optymalizowane pod kątem pełnej 32-bitowej precyzji zmiennoprzecinkowej. Choć układ obsługuje również tryby mniejszej precyzji, znane z serii NV3x, nie tylko w nich osiąga szczytową wydajność.
Programiści gier, chcąc osiągnąć grywalną wydajność na sprzęcie NV35/38, zmuszani byli często do redukcji precyzji programów pikselowych w swoich grach do poziomu FP16 czy FX12. Wraz z pojawieniem się NV40 sytuacja ta przeszła do historii. W odróżnieniu od R360 ATi, który zawsze przetwarza programy pikselowe w precyzji FP24, NV40 przy przetwarzaniu FP32 oferuje pełną wydajność. Choć programy pikselowe korzystające z FP16 wciąż mogą przynieść pewną poprawę wydajności, ta różnica nie będzie tak wyraźna, jak w NV35/38.
| Zestawienie możliwości silnika pikseli |
| Model silnika pikseli |
2.0 |
2.0a |
2.0b |
3.0 |
| Limit tekstur zależnych |
4 |
brak limitu |
4 |
brak limitu |
| Limit instrukcji tekstur |
32 |
brak limitu |
brak limitu |
brak limitu |
| Rejestry pozycji |
- |
- |
- |
tak |
| Sloty instrukcji |
32+64 |
512 |
512 |
>= 512 |
| Wykonywane instrukcje |
32+64 |
512 |
512 |
65535 |
| Rejestry interpolowane |
2+8 |
2+8 |
2+8 |
10 |
| Przewidywanie instrukcji |
- |
tak |
- |
tak |
| Indeksowane rejestry wejściowe |
- |
- |
- |
tak |
| Rejestry tymczasowe |
12 |
22 |
32 |
32 |
| Rejestry stałych |
32 |
32 |
32 |
224 |
| Dowolna przemiana komponentów |
- |
tak |
- |
tak |
| Instrukcje gradientowe |
- |
tak |
- |
tak |
| Rejestry liczników pętli |
- |
- |
- |
tak |
| Rejestry strony (dwustronne oświetlanie) |
- |
- |
- |
tak |
| Dynamiczna kontrola przebiegu |
- |
- |
- |
24 |
Nowy układ nVIDII całkowicie spełnia wymagania specyfikacji Microsoft DirectX 9.0c, wymagające 32-bitowej precyzji zmiennoprzecinkowej.
WSTECZ | DALEJ: Silnik przetwarzania pikseli, ciąg dalszy
 |
| Spis treści |  |
|
|