Anisotrope Texturfilterung - warum setzen es so wenig Spiele ein?
-
Warum setzen eigentlich so wenig Spiele anisotrope Texturfilterung ein? Es sieht tatsächlich gerade bei Bodentexturen, wo man gewöhnlich parallel dazu schaut, einfach viel besser aus wenn man irgendwelche Pflastersteine oder sowas hat. In den meisten Spielen gibt es nichtmal eine Option dafür.
Man kann es natürlich im Treiber aktivieren, aber dann gilt es für die gesamte Szene und macht möglicherweise sogar irgendeinen hacky trick kaputt. Die Spieleentwickler selber könnten es sehr selektiv für die Bestandteile aktivieren die davon profitieren, dann würde sich auch der Performanceverlust in Grenzen halten.
Irgendwelche Ideen?
-
weil es 10% bis 25% performance kostet und am ende eh per treiber zugeschaltet werden kann von den wenigen die wissen dass es das ueberhaupt gibt.
-
Wer weiss NICHT dass es das gibt?
Und 10-25% sind ja nicht wirklich viel.
AA kostet mehr, kann man aber doch bei einigen Spielen einschalten soweit ich weiss.
-
hustbaer schrieb:
Wer weiss NICHT dass es das gibt?
alle - wenige
Und 10-25% sind ja nicht wirklich viel.
ein fertiges spiel 10% bis 25% schneller zu bekommen, daran sitz ich sicher zwei bis vier wochen, das ist entsprechend durchaus viel nochmal nen monat entwicklungszeit dran zu haengen.
AA kostet mehr, kann man aber doch bei einigen Spielen einschalten soweit ich weiss.
AA kennen bzw verstehen viele. AF sieht man oefters mal nicht, es reicht schon wenn man vernuenftig texturen filtert. schalte AF bei crysis oder UT3 ein, ich finde das sieht man dann nicht sonderlich.
http://www.abload.de/image.php?img=crysis64_16afs2rr.png
http://www.abload.de/image.php?img=crysis64_q57ai.png
-
rapso schrieb:
Und 10-25% sind ja nicht wirklich viel.
ein fertiges spiel 10% bis 25% schneller zu bekommen, daran sitz ich sicher zwei bis vier wochen, das ist entsprechend durchaus viel nochmal nen monat entwicklungszeit dran zu haengen.
Klar. Fix einschalten würde ich das auch nicht. Aber optional könnte man es ja anbieten. Ob es sich lohnt das zu machen was Optimizer anspricht, also gezielt Dinge auswählen wo AF am "sichtbarsten" ist, weiss ich nicht. Aber einfach eine Option "enable AF" wäre doch sicher schnell eingebaut. User mit ausreichend dicken Grafikkarten können das dann verwenden, welche mit weniger dicken Karten lassen es halt aus. Dann muss man auch wegen der 10-25% nicht mehr optimieren, ist ja optional.
-
Das mit der Performance lass ich als Argument durchaus gelten, aber tatsächlich verstehe ich deswegen noch nicht, warum es nicht als Option verfügbar ist. Und macht es nicht tatsächlich auch mal was kaputt, das im Treiber generell anzuschalten (wenn die texture unit gezielt für ne lineare interpolation genutzt wird)?
Das viele die Option nicht kennen, halte ich für kein Argument. Viele Leute wissen auch nicht was Texturfilterung überhaupt ist, trotzdem benutzt man es, weil es besser aussieht.
btw. finde ich deine Screenshots nicht ideal gewählt, sieh dir mal die hier an:
http://firbach.dyndns.org/garbage/af/crysis1.jpg
http://firbach.dyndns.org/garbage/af/crysis2.jpgUnd hier find ich tatsächlich schon, dass es die Bäume kaputt macht, das generell im Treiber anzuschalten.
Und bei Oblivion ist der Unterschied echt erschreckend:
http://firbach.dyndns.org/garbage/af/oblivion1.jpg
http://firbach.dyndns.org/garbage/af/oblivion2.jpg
-
Ich denke die Frage ist ob es am Ende auch auffällt das es besser aussieht. Bei einem großteild er Spiele bezweifle ich das die Spieler sich da hinsetzen und sich das gezielt anschaun, sieht mans chon daran sehr gut das in etlichen Spielen alle Spieler an den selben Beleuchtungs oder Texturfehlern vorbeirennen und fast keiner bemerkt sie.
-
Optimizer schrieb:
Das mit der Performance lass ich als Argument durchaus gelten, aber tatsächlich verstehe ich deswegen noch nicht, warum es nicht als Option verfügbar ist. Und macht es nicht tatsächlich auch mal was kaputt, das im Treiber generell anzuschalten (wenn die texture unit gezielt für ne lineare interpolation genutzt wird)?
natuerlich macht es einiges kaputt, z.b. ist es nicht sinnvoll mathematische texturen wie z.b. normals auf die selbe weise zu interpolieren wie color texturen. AF einzuschalten im treiber macht genau soviel kaputt wie es verbesser bei crysis, wuerde ich meinen. wenn man es also richtig machen will, muessten die artist fuer jede textur fuer jedes objekt einzeln angeben welche filterung die richtige ist und zudem muessten die sampler der graphikkarten programmierbar sein um es richtig zu machen.
Das viele die Option nicht kennen, halte ich für kein Argument. Viele Leute wissen auch nicht was Texturfilterung überhaupt ist, trotzdem benutzt man es, weil es besser aussieht.
genau das ist das problem, die leute benutzen etwas von dem sie nicht wissen was es macht, hauptsache es ist erstmal an. am ende beschweren sie sich dass es langsam ist oder dass es fehler gibt und es komplett richtig zu machen ist aus oben angegebenen gruenden garnicht moeglich.
also laesst man es gleich.
Antialiasing hingegen kann kaum einfach im treiber nachgebaut werden, die hersteller wissen heutzutage kaum noch welcher buffer fuer was benutzt wird und selbst wenn, sie muessten spezielle resolves einbauen und die shader an sich anpassen um korrektes AA zu bieten. deswegen machen die hersteller das lieber selbst, und es ist auch sehr leicht erklaerbar fuer jeden "man rendert das bild doppelt so gross, skaliert es runter und deswegen verschwinden die kanten". versuch das mal fuer AF, "Texturen werden schaerfer"-"wieso sind sie unscharf?" "weil mipmaps, also klein skalierte texturen verwendet werden und bei der DDx DDy ableitung die kleinere genommen wird fuer die mipmap selektion" - "emm.. ahh.. emm.. kann man nicht einfach die grosse textur nehmen?" - "ja, aber das wuerde zu viel aliasing fuehren und performanceeinbruche aufgrund schlechter cache coherence verursachen" - "emm... aber..."
und bei jeder antwort verstehen die leute 50% nicht, was bei follow up fragen mit *0.5 aufakkumuliert -> die meisten raffen es nicht.btw. finde ich deine Screenshots nicht ideal gewählt, sieh dir mal die hier an:
http://firbach.dyndns.org/garbage/af/crysis1.jpg
http://firbach.dyndns.org/garbage/af/crysis2.jpguo, sieht boese aus, was ist das, ne 7800 die das filtert? *Hehe*
Und hier find ich tatsächlich schon, dass es die Bäume kaputt macht, das generell im Treiber anzuschalten.
klar, die sind wegen HDR vermutlich nicht als simple colors abgelegt -> jede textur muss einzeln fuer AF selektiert werden und genau wie beim AA muss man fuer jedes format ein dediziertes AF implementieren, wenn man es richtig machen will.
aber du hast nur wenige framebuffer, jedoch hunderte texturen mit sicherlich ein paar zig formaten.Und bei Oblivion ist der Unterschied echt erschreckend:
http://firbach.dyndns.org/garbage/af/oblivion1.jpg
http://firbach.dyndns.org/garbage/af/oblivion2.jpgein wenig mip bias wuerde genau so gut funktionieren, nehm ich mal an.