PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vergleich: bilinear-anisotropes Filtering und trilinear-AF auf der GF3


nggalai
2001-11-17, 14:12:54
Hi there,

angeregt durch die verschiedenen Artikel zu den neuen Radeon8500er Treibern auf dem Netz und Xmass Post im Beyond3D Forum (hier: http://bbs.pcstats.com/beyond3d/messageview.cfm?catid=3&threadid=1331) habe ich mich mal hingesetzt, um die Unterschiede zwischen bilinearem anisotropem Filtering und trilinearem anisotropem Filtering auf einer GF3 zu benchen.

Bench-System
ASUS TUSL2-C, PIII-S Tualatin 1.26GHz (512K L2 Cache), 384MB PC133 SDRAM (CAS 2), nichts übertaktet
ASUS V8200 Pure GF3, 21.85, keine Tweaks

Serious Sam V1.4, "Quality" Presets, "optimal" Texturen (kein TC), 1024x768x32, kein V-Sync, kein FSAA, kein Sound
"Memphis Suburb" Timedemo

Ich habe Serious Sam genommen, weil dieses Spiel viele grössere Texturen aufweist. Ausserdem läuft das Timedemo nicht wie z.B. bei Q3A "verschnellert" durch, sondern in normalem Spiel-Tempo. Als letzten Grund möchte ich angeben, dass SS die Durchschnittswerte auch ohne exzessive Ausreisser anzeigt ("average without excessive peaks"), was zu sehr stabilen und vergleichbaren Durchschnittswerten führt. "Memphis Suburb" wurde wegen der grösseren Anzahl Texturen als z.B. bei "Dunes" genommen. Ausserdem wiederspiegelt dieses Demo recht gut eine typische Shooter-Szene. :)

Ich werde hier extra NICHT auf Vergleiche mit der Radeon8500 eingehen, da ich noch keinen Zugriff auf dieser Karte habe und daher auch nicht auf demselben System durchbenchen kann. Aufgrund der recht unterschiedlichen Implementation des Textur-Filterings bei NVIDIA und ATi ist es eh sinnlos, einfach nur Zahlen zu vergleichen und einen "Gewinner" zu suchen. Weil die Qualität von Texturfiltering vorallem in Bewegung ersichtlich wird, habe ich auch aufs Posten von Screenshots der entsprechenden AF-Settings verzichtet.

Als Vergleichswerte dienen averages without excessive peaks fps; ich verwende als Notation nicht "tap" wie das bei NVIDIA häufig der Fall ist, sondern beschränke mich auf die AF Stufen.

GF3, stock clock rates (200/230MHz)

Bilinear, no AF : 94
Bilinear, 2x AF : 93
Bilinear, 4x AF : 86
Bilinear, 8x AF : 73

Performance-Verlust von Bilinear no AF zu voller AF : -22%

Trilinear, no AF : 94
Trilinear, 2x AF : 89
Trilinear, 4x AF : 76
Trilinear, 8x AF : 62

Performance Verlust von Trilinear no AF zu voller AF : -35%

Als erstes fällt auf, dass ohne anisotropes Filtering Trilinear praktisch gratis zu haben ist, bei der GF3. Ich habe das noch mit den anderen Timedemos durchprobiert, und immer lag trilineares Filtering höchstens 1fps hinter dem bilinearen. Ohne AF reagierte SS auch kaum bis gar nicht auf Übertakten der Grafikkarte, aber dazu unten mehr.

Der Unterschied zwischen den Performance-Verlusten ist nicht unwesentlich (und deckt sich recht gut mit den Zahlen, die bei Reviews und Vergleichen häufig genannt werden--30 bis 40% für "64tap" anisotropes Filtering); IQ Unterschiede zwischen bilinear-8x-AF und trilinear-8x-AF sind zumindest bei Serious Sam und auf meinem System zu vernachlässigen: in Bewegung macht trilineares Filtering zwar einen noch etwas "schärferen" Eindruck, aber die gefürchteten MIP-map boundaries sind auch mit bilinearem Filtering nicht zu sehen und die Texturen auch auf weite Distanz scharf und unverzerrt. Ich könnte jedenfalls nicht ohne Vergleich "blind" erraten, ob jetzt trilinear oder bilinear anisotrop gefiltert wurde.

Um zu sehen, wie die GF3 skaliert, habe ich mal mit 10% Mehrtakt gebencht:

GF3, 220/255MHz

Ich beschränke mich hier auf die Extreme: "kein AF" und "höchstes AF".

Bilinear, no AF : 95
Bilinear, 8x AF : 80

Performance-Verlust von Bilinear no AF zu voller AF : -16%

Trilinear, no AF : 94
Trilinear, 8x AF : 68

Performance Verlust von Trilinear no AF zu voller AF : -28%


Man sieht hier schön, dass Texturfiltering gut von höheren Taktraten profitieren kann: die nicht-AF Werte haben sich trotz 10% höheren Taktes nicht geändert. Also ähnlich wie bei Razors FSAA Vergleich--übertakten bringt eigentlich nur was, wenn man auf Füllraten- und/oder Bandbreiten-intensive Features setzen will.

Was passiert nun, wenn man die GF3 auf Ti500-Niveau betreibt?

GF3, 240/250MHz

Auch hier nur die Extreme:

Bilinear, no AF : 94
Bilinear, 8x AF : 84

Performance-Verlust von Bilinear no AF zu voller AF : -11%

Trilinear, no AF : 94
Trilinear, 8x AF : 72

Performance Verlust von Trilinear no AF zu voller AF : -23%

Nicht schlecht--mit rund 10% Performance-Verlust lässt sich's eigentlich leben. Man bemerke, dass Texturfiltering mehr von einem höheren Chip- als von einem höheren RAM-Takt gewonnen hat--offenbar ist AF bei der GF3 nicht bandbreitenlimitiert, sondern stösst wie erwartet bei der Füllrate an Grenzen. Wieder schön zu sehen, wie die Default-Werte des Benchmarks kaum auf die geänderten Takte reagieren.

Mit aktivierter Textur-Kompression wird das Bild deutlich hässlicher (besonders der Himmel), jedoch beschränkt sich der Performance-Zuwachs bei voller anisotropen Filterung auf ein bis zwei fps (noch ein Hinweis darauf, dass die Bandbreite hier nicht wesentlich einschränkt).

Wie sich die Performance bei höheren O/clocks oder auch bei einer nicht-übertakteten GF3 Ti200 verhält, scheint klar. Schade, dass die GF3 nicht mit höherem Chiptakt als 240MHz ausgeliefert wird, jedoch wird sich eine Ti500 vielleicht stabil auf so was Schönem wie 280MHz betreiben lassen. Dann wäre bilineares AF bei vielen Spielen echt schon fast gratis zu haben (so es sich denn aktivieren lässt).

Wie immer: die Ergebnisse, die ich hier veröffentliche, beziehen sich ausschliesslich auf die oben genannte Konfiguration von System und Spiel; meine Schlussfolgerungen sind genau das: MEINE Schlussfolgerungen, und daher offen zur Diskussion (oder auch flamen, wenn jemand auf sowas steht).

OK, soviel von mir; Kommentare und Korrekturen sind natürlich gerne willkommen. Ich geh' jetzt erstmals spielen, denn darum geht's doch eigentlich. :D

ta,
-Sascha.rb

Thowe
2001-11-17, 17:47:47
Da ja keiner eine Meinung hat :D

Also Performanceverlust in welchem Mass auch immer halte ich bei der Gesamtperformance der Karte in nicht FPS und Co. für vernachlässigbar. Wobei 60fps in FPS mir auch reichen würden.

Natürlich bleibt mir (gerade als Kyro User) der Wunsch nach AF for (nearly) free.

Pengo
2001-11-17, 18:02:47
60 fps Minimum würden mir auch reichen, aber meine voll übertaktete Ti200 ist bei 1024x768x32 HG++ 4x aniso (kein FSAA) meilenweit davon entfernt, und das auf nem 1.4 Athlon.

aths
2001-11-17, 22:28:44
Pengo: Welche Spiele spielst du denn damit?

nggalai: Wie sieht es mit Screenshots aus?

Pengo
2001-11-17, 22:58:15
Das Extrembeispiel ist RCTW - dort schwankt die Framerate zwichen 15 und 140 bei mir, also nichts mit 60 fps Minimum. Comanche 4, Max Payne und Motocross Madness 2 sind auch weit von 60 fps Minimum bei meiner Konfig entfernt.

nggalai
2001-11-17, 23:44:21
Einen guten Abend wünsche ich,

auf athss Wunsch hin ;) hier doch noch 4 Screenshots, die zur Illustration dienen sollen.

Nochmals: die Qualität von Texturfiltering lässt sich eigentlich nur im bewegten Bild erkennen, diese Screenshots sind also mit Vorsicht zu geniessen--in beide Richtungen: einerseits sollte man nicht über die sehr geringe Streifenbildung beim bilinear-anisotropen Filtering herfallen (da dies a) im laufenden Spiel nicht auffällt und b) noch dazu nur bei äusserst spitzen Winkeln überhaupt zu erkennen ist--die gewählte Perspektive ist in voller Absicht "bilinear-kritisch" gewählt), noch sollte man trilinear-AF als "unnütz" abtun, nur weil die Bildqualität zu bilinearem-AF nicht gewaltig zulegt--in Bewegung sind, wenn auch geringfügig, doch Unterschiede auszumachen, welche je nach Spiel und Spielsituation mehr oder weniger auffällig und daher auch störend rüberkommen können. Ob man jedoch dafür 20% Mehrleistung von seiner Grafikkarte abverlangen will, sei mal so dahingestellt.

Ich habe die Screenshots mit 100% Qualität als JPG (non-progessive) abgespeichert. Damit mir die 33k-Modem-User hier nicht die Genitalien abreissen, habe ich die Bilder dennoch auf den aussagekräftigen Teil zurechtgeschnitten. Ich mag meine Genitalien, und ich würde die gerne noch ein Weilchen länger behalten und benutzen.

Bilinear (http://www.nggalai.com/images/ss_aniso/bilinear.jpg)

Trilinear (http://www.nggalai.com/images/ss_aniso/trilinear.jpg)

Der Unterschied ist wohl deutlich zu erkennen und bedarf kaum weiterer Erläuterung. Hier wird's schon schwieriger:

Bilinear, 8x-AF (http://www.nggalai.com/images/ss_aniso/bilinear_8x.jpg)

Trilinear, 8x-AF (http://www.nggalai.com/images/ss_aniso/trilinear_8x.jpg)

NOCHMALS: Die Idee ist NICHT, dass jetzt wer seine Radeon, Voodoo, oder Kyro-Screenshots mit fps-Angaben hier hineinstellt um dann zum Schluss zu kommen, welche Karte denn jetzt "besser" oder "effektiver" Texturen filtert. Solche Vergleiche ausserhalb einer Grafikkarten-Familie sind nicht sinnvoll und zu vermeiden.

ta,
-Sascha.rb

[Edit: einige Tippfehler korrigiert.rb]

[Edit 19-11-01: Bilder durch Links ersetzt, damit die DSL-User mir nicht die Bandbreite von nggalai.com absaugen ;) ]

aths
2001-11-18, 00:40:35
Hi nggalai,

darf ich die Bilder in meinen nächsten Artikel einbauen?

nggalai
2001-11-18, 10:12:03
hi aths,

sicher, falls Du die Bilder nicht aus dem Kontext nimmst und auch alle Disclaimer, die ich dazu schrieb (i.e. Bilder nur unzureichend für Texturfiltering Betrachtungen, kein Performance/IQ Vergleich mit anderen Karten als GF3 sinnvoll) einhälst, dann sicher doch.

Worum geht's denn in dem Artikel? PM mich doch mal an. :)

ta,
-Sascha.rb

Exxtreme
2001-11-18, 10:30:54
@ nggalai

Ich kann einen leichten Unterschied zw. bilinear + AF und trilinear + AF auf deinen Screenshots erkennen . Wenn man jetzt eine höhere anisotropische Stufe wählt, z.B. 32 Tab, sind dann die Unterschiede genauso stark?

Grüsse
Alex

Thowe
2001-11-18, 10:49:11
netter Artikel dazu:

http://www.ve3d.com/3dpulpit/misc/aniso_gf3/index.html

nggalai
2001-11-18, 11:01:35
Hi Exxtreme,

ja, einen kleinen Unterschied kann ich auch feststellen--ganz links oben, an der Rampe, erkennt man noch knapp die MIP-map Kanten. Dies allerdings nur mit Screenshots--in Bewegung fällt's nicht mehr auf--, und wenn man noch mit dem LOD-Bias uns Threshold rumspielt (was Serious Sam zulässt), kann die MIP-map Kante noch weiter weggeschoben und/oder verwischt werden. Wie schon gesagt, alle Benches und Screenshots stammen ohne Tweaks von der Standard-"Quality" Einstellung des Spieles.

Die Screenshots sind bereits mit höchst-möglichem AF gemacht worden. Wie ich in meiner ersten Post schrieb, verzichte ich auf NVIDIA's "tap" Nomenklatur.

Also kurz gesagt: auf einer standard-GF3 liefert trilineares-8x-AF rund 35% Performance-Verlust, bilineares AF nur 20%. Sobald man die Karte sanft übertaktet, sprechen wir von rund 10% (bilinear) und 20% (trilinear)--trilinear verdoppelt also rund den Performance-Verlust (zumindest in dem Benchmark).

In Bewegung erkennt man die MIP-map Kanten bei bilinear-AF nicht/kaum; bilinear-anisotropes Filtering ist bei der GF3 zumindest mit Serious Sam also eine Performance-schonende, aber trotzdem effektive Textur-filtering Option und sollte in Reviews echt häufiger zum Tragen kommen.

ta,
.rb

nggalai
2001-11-18, 11:05:47
Hi Thowe,

ja, auch der 2. Artikel des Reverend ist gut, und da hatte ich auch die Idee mit der Screenshot-Position her. Leider ging er nicht auf die Performance-Frage ein, und die neuesten Treiber sind's auch nicht mehr--aber als weiteres Bildmaterial kann der Artikel sehr wohl hinzugezogen werden:

http://www.ve3d.com/3dpulpit/misc/aniso2_gf3/index.html

ta,
-Sascha.rb

Thowe
2001-11-18, 11:30:43
Originally posted by nggalai
Hi Thowe,

ja, auch der 2. Artikel des Reverend ist gut, und da hatte ich auch die Idee mit der Screenshot-Position her. Leider ging er nicht auf die Performance-Frage ein, und die neuesten Treiber sind's auch nicht mehr--aber als weiteres Bildmaterial kann der Artikel sehr wohl hinzugezogen werden:

http://www.ve3d.com/3dpulpit/misc/aniso2_gf3/index.html

ta,
-Sascha.rb

Genau :) aber mir der einzig bekannte Artikel der überhaupt mal was Aussagekräftiges zum Thema AF bringt. Irgendwie habe ich seit Ewigkeiten das Gefühl das dieses Thema immer wieder als relativ unwichtig runtergespielt wird, einfach um nicht irgendwelche "Performanceeinbussen" zugeben zu müssen. Aber gerade bei Spielen wie Monkey Island 4 die auf möglichst vielen Rechnern laufen sollen und auf 640x480 limitiert sind, ist AnIso und FSAA/MSAA nicht zu verachten.

http://www.electronicarts.de/monkey/
http://gamespot.com/gamespot/filters/products/downloads/0,11095,913819,00.html

Sollte jeder mal probiert haben um die Unterschiede zu sehen, auch eins der wenigen Spielen die auf der Kyro mit AF+FSAA4 flüssig laufen.

Exxtreme
2001-11-18, 11:52:26
@ nggalai
Thanks für die URL.
Das beantwortet auch meine Frage. Je höher die Einstellung fürs AF, desto weniger sind die MipMap-Stufen sichtbar, wenn man AF mit bilinearen Filtering kombiniert. Da die Grafikkarten mit dieser Kombination lestungsmässig weniger einbrechen, kann man eine höhere Einstellung fürs AF wählen und man erhält somit eine bessere BQ.

Grüsse
Alex

nggalai
2001-11-18, 18:02:17
HI Exxtreme,

> Das beantwortet auch meine Frage. Je höher die Einstellung fürs
> AF, desto weniger sind die MipMap-Stufen sichtbar, wenn man AF mit
> bilinearen Filtering kombiniert.

Das stimmt im Allgemeinen, muss aber nicht so sein. :) Schlussendlich hängt die Erkennbarkeit der MIP-map Stufen nicht nur von möglichen AF-Settings ab, sondern auch davon, wie der Treiber den MIP-map LOD Threshold verwaltet i.e. in welchem Abstand MIP-maps gewechselt werden, und welchen Kontrast die Texturen (und die Umgebung) aufweisen.

Es ist kein Problem, auch bei vollem bilinearen anisotropem Texturfiltering durch unglücklich gewählte LOD Thresholds im Treiber in Kombination mit gut kontrastierenden Texturen die MIP-map-Bänder vor sich herschieben zu müssen. Das ist u.a. ein Problem der Kyro im OpenGL: der MIP-map Grenzwert ist so niedrig angesetzt, dass man in helleren Levels mit kontrastreichen Texturen selbst mit vollem AF noch Bänderbildung bewundern darf, wenn man auf trilineares Filtering verzichten will (aus Performance-Gründen auch häufig muss). Dooferweise ist dieser Threshold-Wert unter OpenGL bei der Kyro auch noch hardcoded, so dass man nur auf neuere Treiber hoffen kann.

Die Radeon andereseits bietet ein sehr weites 1. MIP-map Band und grosszügige MIP-map Thresholds--dies kann in Kombination mit anisotropem Filtering sehr gute IQ liefern, obwohl kein trilineares AF möglich ist.

> Da die Grafikkarten mit dieser Kombination lestungsmässig
> weniger einbrechen, kann man eine höhere Einstellung fürs AF wählen
> und man erhält somit eine bessere BQ.

Ich verstehe immer noch nicht, weshalb man in so wenigen Reviews die GF3 auch mal mit bilinearem AF ausprobiert. Am allerwenigsten verstehe ich, wie ein Review eine Radeon mit einer GF3 vergleichen kann (solche Vergleiche an und für sich erachte ich als wenig sinnvoll und eher verzerrend als interessant), und dann nichtmal versucht, wenigstens annähernd ähnliche Voraussetzungen für Texturfiltering-Vergleiche zu schaffen. Aber das gehört wohl in einen anderen Thread. ;)

ta,
-Sascha.rb

Leonidas
2001-11-18, 18:31:17
Originally posted by nggalai
Als letzten Grund möchte ich angeben, dass SS die Durchschnittswerte auch ohne exzessive Ausreisser anzeigt ("average without excessive peaks"),


Die Werte ohne exzessive Ausreißer waren bisher in jedem Demo-Durchlauf, welchen ich je mit SSam getätigt habe, immer etwas höher als die normalen Werte. Ich empfehle daher prinzipiell die Verwendung des normalen Wertes.

Leonidas
2001-11-18, 18:40:10
Originally posted by nggalai

Am allerwenigsten verstehe ich, wie ein Review eine Radeon mit einer GF3 vergleichen kann (solche Vergleiche an und für sich erachte ich als wenig sinnvoll und eher verzerrend als interessant), und dann nichtmal versucht, wenigstens annähernd ähnliche Voraussetzungen für Texturfiltering-Vergleiche zu schaffen.

ta,
-Sascha.rb


Dies werde ich definitv tun, wenn denn bei uns der R8500vsGF3 Artikel irgendwann mal steht. Zwar nicht unbedingt die GF3 nur bilinear Filtern lassen, aber bei dieser heiklen Thematik kommt zuerst der Bildqualitätsvergleich und erst dann die Benches.

nggalai
2001-11-18, 20:16:35
Hi Leonidas,

> Die Werte ohne exzessive Ausreißer waren bisher in jedem Demo
> Durchlauf, welchen ich je mit SSam getätigt habe, immer etwas höher
> als die normalen Werte. Ich empfehle daher prinzipiell die
> Verwendung des normalen Wertes.

Ich sehe das gerade anders rum--gerade WEIL solche Sachen wie die 200fps, die Du .1s lang hattest, und die 10fps, die wegen eines HD-Zugriffs daherkamen, gefiltert werden, finde ich die "gefilterten" Mittelwerte sinnvoller. Die average without excessive peaks bleiben bei mir bei mehreren Durchläufen (auch nach Reboots) meist auf +/- 1fps gleich, während die "normalen" average-Werte schonmal um +/- 5-10fps variieren können.

Grundsätzlich ist wohl das wichtigste, dass man vor dem Publizieren von Resultaten klar mach, welche Werte man genommen hat. So können Leute bei Bedarf nachvollziehen oder auch nachbenchen, was der Autor veröffentlichte.

> Dies werde ich definitv tun, wenn denn bei uns der R8500vsGF3
> Artikel irgendwann mal steht. Zwar nicht unbedingt die GF3 nur
> bilinear Filtern lassen, aber bei dieser heiklen Thematik kommt
> zuerst der Bildqualitätsvergleich und erst dann die Benches.

Besonders den letzten Teilsatz finde ich ausgesprochen vielversprechend. Ich bin zwar kein Fan von Quervergleichen (i.e. R8500vsGF3 ... brrr ...), bei dir mache ich mir allerdings keine grossen Sorgen, dass das bös in die Hosen gehen wird. :D

ta,
-Sascha.rb

nggalai
2001-11-19, 13:54:23
Hi there,

nur kurz: falls wer die Bilder aus welchen Gründen auch immer verwenden will, die ich hier gepostet hab: kopiert sie, und hostet die wo anders--sonst reisst mir mein ISP den kopf ab. :)

Edit: Mein Sysad meinte gerade, dass er mir lieber die Genitalien anstatt des Kopfes abreissen würde. Aaaah. So macht Arbeit doch Spass. ;)

ta,
.rb