PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kosten schärfere Texturen nur VRam?


Geldmann3
2012-08-20, 01:33:41
Ist es so, dass schärfere Texturen (fast) nur mehr VRam benötigen und beispielsweise, die GPU weniger davon beeindruckt wird. Gibt es dazu Benchmarks/Studien?

aufkrawall
2012-08-20, 01:34:50
Wenn die Engine gut cached/streamt, sollten sie bei ausreichend VRAM eigentlich keine Performance kosten.

Geldmann3
2012-08-20, 01:37:49
Dann frage ich mich, warum die Entwickler jetzt immernoch niedrig aufgelöste Texturen in die Spiele packen, auch wenn man die höchste Stufe wählt. Wenn es doch meist eh eine hochauflösende Version gibt. Gibt es Spiele, die "nur" in FullHD (ohne Mods) 3GB Vram zum überlaufen bringen? Und wie verhält es sich mit der Auflösung von Bumpmaps und ähnlichen, kostet das auch nahezu nur Vram?

aufkrawall
2012-08-20, 01:46:10
Dann frage ich mich, warum die Entwickler jetzt immernoch niedrig aufgelöste Texturen in die Spiele packen, auch wenn man die höchste Stufe wählt. Wenn es doch meist eh eine hochauflösende Version gibt.

Wahrscheinlich aus dem gleichen Grund, warum Skyrim auch auf dem PC nur kratzige 48kbit Musik hat. :(
Für die Xbox 360 muss halt alles krass runterkomprimiert werden.
Dann kann mans auch für den PC als wirtschaftlichere Single DVD verkaufen.
Wie hinter allem steckt da wohl eine einfache Kosten/Nutzen-Kalkulation.


Gibt es Spiele, die "nur" in FullHD (ohne Mods) 3GB Vram zum überlaufen bringen?
Wohl höchstens durch Memory Leaks oder andere Bugs.

Zu Bump Maps kann ich nichts sagen.

Tesseract
2012-08-20, 01:52:29
größere texturen kosten de facto nur mehr vram weil es ziemlich egal ist aus welchen teil des rams die textursamples ausgelesen werden und die zahl pro fragment unabhängig von der zugrundeliegenden texturgröße ist.
beim bumpmapping (bzw. allgemein bei height maps) hängt es davon ab was der algorithmus dahinter genau macht. die meisten methoden werden aber auch nur mehr vram brauchen.

warum keine größeren texturen mitgeliefert werden musst du die entwickler fragen. vermutlich weil die zielgruppe der personen mit genug vram viel zu klein ist.

Langenscheiss
2012-08-20, 02:06:24
Und wie verhält es sich mit der Auflösung von Bumpmaps und ähnlichen, kostet das auch nahezu nur Vram?

Bei Normalmaps etc. kommts darauf an, in welcher Auflösung die vorliegen. Für eine hochauflösende Diffuse-Map braucht man je nach Textur nicht zwingend hochauflösende Normalmaps. Und es ist klar, dass jede Read-Operation (welche bei Trilinear AF natürlich mit dem entsprechenden Faktor zu multiplizieren sind) im Shader auf irgendeine Textur nicht völlig umsonst ist, und deshalb kostet es auch etwas Rechenzeit, wenn neben der Diffuse-Map noch Normalmaps, Specularmaps etc. für das entsprechende Fragment gelesen werden müssen. Und natürlich wird dann mit den Werten auch ein bisschen rumgerechnet, was Zeit kostet. Kommt POM dazu, gibt es noch mehr Texture-Reads, weil erst noch ne Nullstellensuche durchgeführt werden muss. Das addiert sich alles.

Die Auflösung ist aber glaub ich nicht limitierend, solange der VRAM nicht überläuft, weil wie Tesseract schon sagt, die für ein Fragment verwendete Anzahl von Texeln unabhängig von der Auflösung der Textur ist.

Ansonsten kann ich nur das wiederholen, was krawall schon sagte: Mittlerweile gibt es bereits für untere Midrange-Karten soviel VRAM, dass problemlos höher aufgelöste Texturen möglich wären, weshalb der Mangel an VRAM eigentlich für neue Spiele kein Argument mehr sein kann. Das ist mMn ne alleinige Kosten-Nutzen-Rechnung, vor allem auf Grund der Produktion. Man braucht halt mehr Datenträger bzw. generiert mehr Traffic und Blurays sind nicht verbreitet genug. Und außerdem bringen höher aufgelöste Texturen nur den PClern was, aber man will halt auch gerne die Konsoleros bedienen.

Geldmann3
2012-08-20, 03:18:38
Hab eben beispielsweise DIESEN (http://www.pcgameshardware.de/aid,1018360/Dirt-Showdown-Grafikkarten-Benchmarks-zur-Erweiterten-Beleuchtung/Rennspiel-Sportspiel-Simulation/Test/bildergalerie/?iid=1978441&vollbild) Benchmark-Bericht zu Dirt Showdown gelesen. Da steht irgendwas von Global Illumination und realistischen "bouncing" von Licht, doch wenn man mal einen Blick unter das Grafikmenü wirft.
-->KOTZ* Matschtexturen. Diese ganzen technischen Spielereien bringen optisch gesehen doch kaum etwas sondern kosten nur überproportional viel Leistung.:down:
(Was sich bei Dirt in Grenzen hält)

Würde man einfach die Texturauflösung verdoppeln bzw. vervierfachen hätte das viel größere Auswirkungen auf die Optik als so ein Lichtgedöns was einem im Bann des Spiels nicht mal auffällt.

Wenigstens als Downloadinhalt könnte man sowas irgendwann kostenlos anbieten. (Wie Crytek bei Crysis2)
Im Extremfall sind das vllt. 16000€ mehr Entwicklungskosten + Hostingkosten. Meist aber wahrscheinlich viel weniger.

Skysnake
2012-08-20, 08:04:47
Das Speicherinterface wird durch höher aufgelöste Texturen belastet, und je kleiner die Karten, desto schwachbrüstiger das Speicherinterface.

Es ist halt wie überall in der IT, Speicherbandbreiten sind echt ein Problem, und die brauchst du halt für Texturen. Bei solchen Effekten kannst du viel direkt auf der GPU berechnen und musst somit nicht in den Hauptspeicher der Karte gehen.

Man orientiert sich da halt am Mainstream und den Konsolen. Ne GTX680 oder gar ne HD7970 könnten da klar mit deutlich höher aufgelösten Texturen gut umgehen, aber wer hat die schon?

Iruwen
2012-08-20, 08:49:48
Im Extremfall sind das vllt. 16000€ mehr Entwicklungskosten + Hostingkosten. Meist aber wahrscheinlich viel weniger.

War das kalkuliert oder geraten? :D

(del676)
2012-08-20, 09:14:03
Gibt es Spiele, die "nur" in FullHD (ohne Mods) 3GB Vram zum überlaufen bringen? Und wie verhält es sich mit der Auflösung von Bumpmaps und ähnlichen, kostet das auch nahezu nur Vram?

Ja, Arma2 schafft das recht einfach. 3,8GB Verbrauch ist keine Seltenheit.

aufkrawall
2012-08-20, 14:16:50
Ja, Arma2 schafft das recht einfach. 3,8GB Verbrauch ist keine Seltenheit.
Ist die Frage, ob es das müsste?
JC2 verbraucht nicht mal 1 GB.

Gipsel
2012-08-20, 14:34:31
Ist es so, dass schärfere Texturen (fast) nur mehr VRam benötigen und beispielsweise, die GPU weniger davon beeindruckt wird.Wie Skysnake schon andeutete, sind höher aufgelöste Texturen größer, wodurch natürlich nicht nur die Größe des VRAMs ein Limit darstellen kann, sondern (je nach Nutzung) auch die Speicherbandbreite zum Problem werden kann. Kleine (Matsch-)Texturen liegen ja vollständig in den Caches und belasten das Speicherinterface praktisch kaum. Werden sie größer, gibt es mehr und mehr Cache-Misses. Zuerst kann der L2 das vielleicht noch abfedern, aber bei Benutzung von vielen, großen Texturen (eventuell noch als Lookup in einer Art, so daß die Lokalität nicht gut ist) und man belastet irgendwann unweigerlich die Speicherbandbreite ganz erheblich.

Langenscheiss
2012-08-20, 14:41:54
Würde man einfach die Texturauflösung verdoppeln bzw. vervierfachen hätte das viel größere Auswirkungen auf die Optik als so ein Lichtgedöns was einem im Bann des Spiels nicht mal auffällt.

Man nehme nur den Vergleich Konsole - PC von Crysis 1, siehe z.B. http://www.gamestar.de/spiele/crysis/artikel/crysis,43297,2561228.html . Die Beleuchtung ist aufm PC deutlich schlechter, aber genauso sieht man in diesem Vergleich, dass die wirklich abartig schlechten Konsolentexturen die ganze Optik wieder kaputt machen. Wenn dann für den PC nicht deutlich höher aufgelöste Texturen Verwendung finden, ist es klar, dass die ganzen Beleuchtungsmodelle die Optik nicht verbessern können. Nur beides in Kombination ist wirklich schön, siehe Maldo-Mod in Crysis 2 1.9.

Coda
2012-08-20, 16:18:56
Wie Skysnake schon andeutete, sind höher aufgelöste Texturen größer, wodurch natürlich nicht nur die Größe des VRAMs ein Limit darstellen kann, sondern (je nach Nutzung) auch die Speicherbandbreite zum Problem werden kann. Kleine (Matsch-)Texturen liegen ja vollständig in den Caches und belasten das Speicherinterface praktisch kaum. Werden sie größer, gibt es mehr und mehr Cache-Misses. Zuerst kann der L2 das vielleicht noch abfedern, aber bei Benutzung von vielen, großen Texturen (eventuell noch als Lookup in einer Art, so daß die Lokalität nicht gut ist) und man belastet irgendwann unweigerlich die Speicherbandbreite ganz erheblich.
Textur-Auflösung ändert nichts an der nötigen Auflösung, weil man Mipmapping hat. Die Anzahl der Samples, die man aus dem Speicher lesen muss ist pro Pixel quasi konstant.

mczak
2012-08-20, 17:33:09
Textur-Auflösung ändert nichts an der nötigen Auflösung, weil man Mipmapping hat. Die Anzahl der Samples, die man aus dem Speicher lesen muss ist pro Pixel quasi konstant.
Das ist zwar prinzipiell richtig gilt aber nur falls die Textur für den gerade aktiven Betrachtungswinkel noch genug Auflösung hat (also ungefähr ein Texel pro Pixel).
Wenn man hingegen den Matsch effektiv sieht (weil eben auch Mip Level 0 zu wenig Auflösung hat) dann sollten kleiner aufgelöste Texturen schneller sein weil eben immer dieselben paar Samples aus den Caches benutzt werden.
Glaube aber nicht dass der Effekt wirklich signifikant ist, jedenfalls nicht wenn wir hier von "gewöhnlichen" komprimierten Farbtexturen reden die eh sehr wenig Bandbreite benötigen.

Coda
2012-08-20, 20:39:17
Das ist zwar prinzipiell richtig gilt aber nur falls die Textur für den gerade aktiven Betrachtungswinkel noch genug Auflösung hat (also ungefähr ein Texel pro Pixel).
Wenn man hingegen den Matsch effektiv sieht (weil eben auch Mip Level 0 zu wenig Auflösung hat) dann sollten kleiner aufgelöste Texturen schneller sein weil eben immer dieselben paar Samples aus den Caches benutzt werden.
Glaube aber nicht dass der Effekt wirklich signifikant ist, jedenfalls nicht wenn wir hier von "gewöhnlichen" komprimierten Farbtexturen reden die eh sehr wenig Bandbreite benötigen.
Verstehe ich nicht wirklich. Der Matsch pro Fläche verbraucht immer gleich viel Cache. Es ist ja nicht so als würde immer die ganze Textur in den Cache geladen.

Gipsel
2012-08-20, 20:48:49
Verstehe ich nicht wirklich. Der Matsch pro Fläche verbraucht immer gleich viel Cache. Es ist ja nicht so als würde immer die ganze Textur in den Cache geladen.
Eine kleine 2x2 Textur (oder im Extrem nur 1 Pixel) im Miplevel 0 ist Matsch pur und belegt kaum irgendwas. Man hat praktisch 100% Hitrate schon im L1. Hat man allerdings eine 1024x1024 Textur mit 64bit pro Pixel ...

Und normale GPUs haben schon 512kB oder gar mehr L2 Cache (und größenordnungsmäßig so um 16kB L1 in jedem SMx/jeder CU). Da hat man schon halbwegs ansprechende Hitrates bei relativ kleinen bzw. komprimierten Texturen, insbesondere wenn die Datenlokalität hoch ist (also eine Textur einfach auf einen halbwegs großen Patch gepinselt wird).

Du hast insofern Recht, daß normalerweise bei einer höhere Auflösung der Texturen die Zusatzbelastung für die Speicherbandbreite nicht übermäßig stark zuschlägt (zum Vergleich: man sieht ja häufig auch kaum einen wirklich merklichen Performanceunterschied bei Zuschalten von AF, was auch noch die Bandbreite des L1-Caches bzw. die TMUs selber mehr belastet, die Mehrbelastung des L2 und des Speicherinterface [durch Nutzung niedrigerer Miplevel] ist ja je nach Situation vergleichbar oder auch nicht). Aber wenn man die höhere Texturauflösung sieht, dann muß man natürlich mehr Ausgangsdaten (also ein höher aufgelöstes Miplevel 0) zu den TMUs schleusen.

Coda
2012-08-20, 21:29:43
Ich halte das immer noch nicht für stichhaltig. Wenn man nicht ohnehin Bandbreiten-Limitiert ist dürfte die nötige Bandbreite für die Texturen so gering sein, dass man das ganze ohne weiteres hinter ALU-Ops und Threads verstecken kann.

Ich kann es aus dem Stand nicht beweisen, aber ich vermute dass höhere Texturauflösung in modernen Spielen einen verschwindend geringen Effekt auf die Frame-Zeit hätten.

IVI
2012-08-21, 08:00:32
Ich kann es aus dem Stand nicht beweisen, aber ich vermute dass höhere Texturauflösung in modernen Spielen einen verschwindend geringen Effekt auf die Frame-Zeit hätten.

Dieser Vermutung würde ich mal spontan beipflichten. Denke ich an Fallout3 + Mods, an STALKER + Mods, so ist der FpS-Verlust sehr gering, wenn man HD-Texturen nutzt. Heutzutage sowieso, aber auch zu dem Zeitpunkt, als die Spiele rauskamen. Hatte man 512 MB VRAM war eigtl. alles OK (geringere Moni-Auflösung sei allerdings zu bedenken) und schaut man z.B. heute auf Skyrim, so sind ohne signifikante Performance-Einbußen mit ein paar Tweaks tollere Texturen locker drin. :)
Es ist das seit geraumer Zeit vorhandene Problem, dass quasi alle AAA-Titel multiplattformentwickelt sind und die Konsolen halt technisch von Vorgestern sind. Bestes Beispiel ist RAGE ... ein Schlag ins Gesicht jedes PC-Spielers. :(

HisN
2012-08-22, 18:39:08
Gibt es Spiele, die "nur" in FullHD (ohne Mods) 3GB Vram zum überlaufen bringen?

Brauchts nicht mal FullHD für.

http://www.abload.de/thumb/x-plane_2012_03_15_00fekmx.jpg (http://www.abload.de/image.php?img=x-plane_2012_03_15_00fekmx.jpg) http://www.abload.de/thumb/x-plane_2012_03_15_00sgkbs.jpg (http://www.abload.de/image.php?img=x-plane_2012_03_15_00sgkbs.jpg)

Wobei ich ja der Meinung bin das es praktisch gar nix mit der Ausgabe-Auflösung zu tun hat wenn man sich das mal überlegt.
Einer 4096er Textur in 32-Bit ist es doch völlig egal ob sie auf ein Dreieck mit 3 oder ein Dreieck mit 3000 Pixel Kantenlänge gelegt wird. Sie braucht im Speicher die gleiche Menge. Erst die AA-Filter zeigen über die Auflösung einen Mehrverbrauch an VRAM.

Oder warum zieht z.b. Diablo3 in 6,5Mpx nur lächerliche 500MB an VRAM?
http://www.abload.de/thumb/diabloiii_2012_05_17_uou7t.jpg (http://www.abload.de/image.php?img=diabloiii_2012_05_17_uou7t.jpg)

Die Abhängigkeit von der Auflösung in Bezug aufs VRAM besteht nach meinem Verständnis eher daher, dass in Grenz-Situationen bei vollem VRAM über die Bandbreite der Graka noch mehr gerettet werden kann, und die wird halt bei winzigen Auflösungen nicht so sehr gefordert wie bei hohen Auflösungen. (Aber das ist nur eine Vermutung von mir).