Zum 3DCenter Forum
Inhalt




Der GeForce4 Ti AF-Bug

1. Oktober 2002 / von aths / Seite 1 von 5


   Worum es geht

GeForce4 Ti und anisotrope Texturfilterung - das ist so eine Sache. In den Foren geht der Begriff vom "AF-Bug" um, welcher das seltsame Leistungsverhalten der GeForce4 Ti bei anisotroper Filterung umschreibt. Jener GeForce4 Ti AF-Bug ist das Thema dieses Artikels. Dabei gehen wir sowohl auf das Filter-Verfahren ansich, als auch auf die Unterschiede zur Implementation dieses Features seitens ATi ein. Die Optimierungen, die für Detonator-Treiber zur Verfügung stehen, werden ebenfalls besprochen.

Anisotrope Filterung (geläufig mit AF abgekürzt) ist ein Verfahren, um für geneigte Flächen (also Texturen, auf die man "flach" sieht) ein höheres Texturdetail zu gewährleisten. Reine trilineare Filterung galt bezüglich Texturenfilterung längere Zeit als das Nonplusultra, kämpft aber mit einem Problem: Sieht man flach auf eine Textur, beispielsweise auf eine Boden-Textur, wird sie nach hinten hin deutlich stärker zusammengestaucht als zur Seite.

Um hier noch eine detailreiche Darstellung zu gewährleisten, müssen "nach hinten" zusätzliche Samplings stattfinden, dazu findet ein internes Oversampling der Textur statt. Mit anderen Worten wird für das Pixel nicht nur ein gefiltertes Sample aus der Textur erzeugt, sondern es werden mehrere Samples erzeugt und dann vermischt.


Wo herkömmliche trilineare Filterung noch einen unscharfen Brei liefert, lässt der anisotrope Filter noch Strukturen erkennen. Das gelingt, indem höher aufgelöste MIP-Texturen zur Filterung herangezogen werden.

Als die ersten Benchmarks der GeForce4 Ti durch das Netz gingen, gab es vor allem zwei Reaktionen: Einerseits wurden die neuen Geschwindigkeitsrekorde bestaunt. Andererseits schien bei der anisotropen Texturfilterung irgendwie der Wurm drin: Hier war nVidias neuster Chip seltsam langsam. Noch bevor die Karte an Privatpersonen ausgeliefert wurde, kamen hierzu verschiedene Gerüchte auf. Beispielsweise, ob der Treiber nicht etwa noch Fehler enthalte und dass dies die Karte beim AF ausbremst, oder ob sich nVidia hier eventuell gar mit Absicht noch Leistungsreserven gelassen haben solle.

Obwohl nVidia mit der GeForce4 Ti anfangs ein hohes Preisniveau vorlegte, fand diese für Gamer optimale Karte sofort breiten Zuspruch und ging dementsprechend oft über den Ladentisch. Die technisch versierte Käuferschaft interessierte sich dabei zusehends für die Frage, was denn nun beim AF los ist. Zunächst wäre aber zu klären, was genau die GeForce4 Ti überhaupt macht, wenn AF aktiviert wird.

Wie schon angesprochen findet bei AF ein Textur-Oversampling statt. In Stauch-Richtung werden dabei jeweils mehrere Samples erzeugt - und zwar je nach AF-Einstellung zwei, vier oder acht statt einem. Außerdem lässt sich AF mit trilinearer Filterung kombinieren. Diese Option muss aber extra eingestellt werden - und das ist grundsätzlich nur im Spiel selbst möglich. Bi- oder trilineare anisotrope Filterung kann man nicht per Treiber erzwingen, dort wird nur der Grad der Anisotropie gesteuert. (zumindest bilineare Filterung wäre treiberseitig prinzipiell erzwingbar, ob das tatsächlich angeboten wird, hängt dann vom Treiber ab).

Die Leistung von GeForce-Karten bricht in der Regel schon mit 2x AF heftig ein. Denn letztlich ist so gut wie jede Textur in irgendeine Richtung gestaucht, so dass das angesprochene Oversampling stattfinden muß. Um zwei Samples zu erzeugen, braucht die Rendering-Pipeline der GeForce4 Ti aber auch zwei Takte. Eine Steigerung des Chip-Taktes bringt deshalb bei AF auch eine entsprechend bessere Performance.

Stellt man 4x AF ein, findet natürlich kein durchgehendes 4x Oversampling statt. Dieser Falsch-Annahme ist allerdings sehr weit verbreitet, doch: Anisotrope Texturfilterung ist grundsätzlich ein adaptives Verfahren! Im 4x AF-Modus wird also bis zu vierfach gesampelt. Je nach Stauchungsgrad der Texturen werden 2 oder 4 (aber nicht 3) Texel pro Pixel erzeugt und dann zusammengefiltert. 8x AF bedeutet demzufolge, dass abhängig von der Verzerrung 2, 4 oder 8 Texel pro Pixel generiert werden. Falls es jedoch gar keine Verzerrung gibt, wird auch mit eingeschaltetem AF kein Oversampling vorgenommen.

Es klingt zunächst unsinnig, für AF erst auf höher aufgelöste MIP-Texturen zurückzugreifen, um dann alle erzeugten Samples wieder zu vermischen. Bei einer nicht geneigten Flächen ergäbe sich in der Tat keine Qualitätsverbesserung. MIP-Texturen, also vorberechnete Verkleinerungen der Grund-Textur, sind aber auch nicht für "Schräglagen" vorgesehen. Durch die perspektivische Verzerrung nimmt der Detailgrad beim MIP-Mapping mit immer schrägerer Lage immer mehr ab.

Um dies zu kompensieren, wird der anisotrope Filter eingesetzt. "Schärfer als scharf" geht es natürlich nicht, Texturen gewinnen durch AF nicht per se an Schärfe. Es wird lediglich die durch einen schrägen Sichtwinkel zusätzlich entstehende Unschärfe kompensiert. Man könnte auch sagen, dass durch das spezielle Sampling beim anisotropen Filter "on the fly" passende MIP-Maps generiert werden.






Kommentare, Meinungen, Kritiken können ins Forum geschrieben werden - Registrierung ist nicht notwendig Weiter / Next

Shortcuts
nach oben