Ein Blick auf die Effizienz-Features bei GeForce 3/4
20. März 2003 / von aths / Seite 4 von 5
Weitere Optimierungs-Möglichkeiten
Wir haben nun gesehen, dass die GeForce3 einerseits schlicht weniger Bandbreite benötigt als der eigene Vorgänger GeForce2 und andererseits die vorhandene Bandbreite viel besser ausgenutzt wird. Deshalb kann dieser Chip beim 32-Bit-Rendering fast so schnell wie beim 16-Bit-Rendering sein: 16-Bit-Grafik unterfordert das Speicherinterface der GeForce3 dermaßen, dass es sich nicht lohnt, für den verbleibenden Geschwindigkeitsgewinn auf 32-Bit-Qualität zu verzichten.
Wahrscheinlich findet das Schreiben in den Framebuffer verzögert statt: Um einen Burst zu ermöglichen, rendert der Chip zunächst in einen Cache, der direkt im Chip ist. Der Speicher-Controller kann dann nach Möglichkeit Leerlauf-Zeiten nutzen, die Daten per Burst in den RAM zu bringen. Dadurch werden zwar auch immer einige Pixel übertragen, die gar nicht bearbeitet wurden, doch durch die Möglichkeit der Lastenverteilung lohnt dieser Weg. Um das ganze sinnvoll zu machen, wäre es notwendig, dass der Chip mehrere solcher kleinen Framebuffer-Kacheln aufnehmen kann.
Es ist ersichtlich, dass ein Grafikchip speziell für gute Bandbreiten-Nutzung designt werden muss und es mit ein paar "Feil-Arbeiten" nicht getan ist. Das GeForce3-Anti-Aliasing wurde speziell so entwickelt, dass es weniger Bandbreite benötigt. Der Hauptvorteil von nVidias Multisampling Anti-Aliasing ist allerdings die (weitgehende) Füllraten-Freiheit, es verbraucht in erster Linie "nur" noch Speicherbandbreite, und zwar weniger, als Supersampling in Anspruch nehmen würde.
Nun blieb die Einsparung an Speicherbandbreite leider im überschaubaren Rahmen. Erst die GeForceFX, die ebenso wie die Radeon ab 9500 über eine Color Compression im Zusammenhang mit Anti-Aliasing verfügt, spart hier gründlich bei der Bandbreite. Diese Pseudo-Komprimierung für den Framebuffer spart aber keinen RAM auf der Grafikkarte, sondern nur Bandbreite und stellt die wichtigste Neuerung sowohl bei HyperZ III als auch bei LMA3 dar.
Obwohl schon die erste Radeon für 32 Bit Grafik optimiert war, war die GeForce3 der erste echte 32-Bit-Beschleuniger mit SGI-Architektur. Denn im Gegensatz zur Radeon verfügt die GeForce3 über Füllrate satt. PowerVRs Kyro-Chip könnte man als den noch "echteren" 32-Bit-Beschleuniger bezeichnen, doch die Architektur unterscheidet sich grundlegend, so dass Vergleiche kaum möglich sind. Zudem hat der Kyro wie sein Nachfolger Kyro2 in kritischen Situationen wenig Rohfüllrate und unterliegt deshalb in der Praxis jeder GeForce3 - und zwar deutlich, erst recht, wenn man Wert auf Gadgets wie Anti-Aliasing und anisotropen Filter legt.
Nun blieb die Entwicklung natürlich nicht stehen und ATi legte mit Radeon 8500 eine neue Generation ihrer Hyper-Z-Architektur vor. Während sich nVidia scheinbar bei ATi bediente, als die GeForce3 entwickelt wurde (solche Ideen können aber durchaus auch unabhängig entstanden sein), sah es nun so aus, als ob ATi von nVidia gelernt hätte. Es lag nun an nVidia, die Effizienz für die nächste GeForce-Generation erneut zu steigern. Dazu flossen einige Ideen ein, die von ATi schon im originalen Radeon-Chip verwirklicht wurden. Wir möchten nun die Verbesserungen beim LMA2 der GeForce4 genauer unter die Lupe nehmen.
nVidia verkaufte LMA1 als "Durchbruch" beim Bandbreitenproblem, obwohl sie weder die ersten noch die besten waren. Die ersten echten Ansätze findet man in ATis Radeon, unerreichte Effizienz gibt es dagegen bei PowerVRs Kyro, zu welchem nVidia übrigens ein gespaltenes Verhältnis hat :-).
LMA2 bei der GeForce4 wurde nun erneut als Durchbruch angepriesen. Das Gesetz des abnehmenden Etrages besagt jedoch, wenn schon einmal viel nützliches für die Bandbreite getan wurde, können weitere, darauf aufbauende Verfeinerungen nur noch relativ wenig bringen. Allerdings profitierte nVidia auch von frischen Ideen, denn die Teams der GeForce4-Entwicklungsabteilung wurden von der Creme der ehemaligen 3dfx-Mannschaft verstärkt, sowie von sehr fähigen ehemaligen GigaPixel-Ingenieuren unterstützt (GigaPixel entwickelte selbst einen hocheffizienten Grafikchip und wurde von 3dfx gekauft, das geistige Eigentum besitzt nun nVidia).
Doch nicht nur das "frische Blut" war positiv, auch nVidia-eigene Analysen der GeForce3- und NV2A-Schwachstellen (NV2A = Xbox-Grafikchip auf Basis eines GeForce 3/4 Mix) deckten manches an Verbesserungspotenzial auf. Ein Wunder bzw. "Breakthrough" ist natürlich nicht mehr möglich, denn der Sprung vom "herkömmlichen" SGI-Renderer zum "optimierten" Renderer war bereits getan.
Der nächste Sprung wäre nur durch eine radikale Neuentwicklung des gesamten Chips möglich und würde auf einen deferred Renderer (bekannt als Kyro-Prinzip) hinauslaufen. Solch neue Architekturen kosten viel Geld und bergen Risiken, weshalb sie von den beiden heute übrig gebliebenen 3D-Chip-Marktführern bislang gescheut wurden.
Die GeForce4 Ti war markttechnisch notwendig geworden, weil sich abzeichnete, dass durch das Erstarken von ATi die GeForce3 die Zeit bis zur nächsten großen Architektur NV30 (GeForceFX) nicht überbrücken können würde. Technologisch findet sich so manche Verbesserung in der GeForce4, doch die Feature-Seite gewann relativ wenig: Die meiste Manpower wurde in das Beschleunigen der Karte gesteckt, Hauptwaffe waren hier hohe MHz-Zahlen. Damit diese sich richtig rentieren, wurde aber auch LMA verbessert, was wir uns nun ansehen werden.