Eine normale 2D RGBA Texture mit 4MB hätte ja dann die Auflösung 1024x1024. Das ist kein Problem. Bei 2048x2048 ist dann aber zumindest bei den ATI Karten Schluß. Cubemaps und 3D Texturen können aber auch noch mehr Speicher verwenden, weil sich die Begrenzungen auf die Maße und nicht auf den Speicherplatz beziehen.
Natürlich sind größere Texturen langsamer als kleinere.
Registriert: Mi Mär 09, 2005 12:26 Beiträge: 53 Wohnort: Dornbirn
Danke für die Antworten. 2048x2048 argh ist nochn bisserl wenig. Die Textur ist sozusagen, nur eine Sammlung von vielen kleinen, sodass ich sie so wenig wie möglich wechseln muss.
Und was passiert wenn die Maximale Pixelzahl überschritten wird?
_________________ Good software is like sex, it's best when it's free
Hängt vermutlich vom Treiber ab,
ich würde sagen, dass entweder per Software gerendert wird, oder das die Textur automatisch verkleinert wird, oder das er sie gar nicht / fehlerhaft darstellt.
Mein Tip : Probiers aus
_________________ Bevor du definierst, was etwas ist, versichere dich seiner Existenz.
Da werden sehr viele möglich sein, man betrachte nur die Texturenanzahl von aktuellen Titeln. Ich denke, solange du nicht eine milliarden Texturwechsel machst, wird die Abbremsung kaum bemerkbar sein.
_________________ Bevor du definierst, was etwas ist, versichere dich seiner Existenz.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Woher hast du die Zahlen?
Ich glaube der Effekt ist drastischer. Vielleicht net bei den Topmodellen, aber bei den Mittelfeld und lowBudget Karten mekrt man das schon. Kann mir nämlich sonst net vorstellen, was an meinen Programmen die Graka so ausbremst, wenn nicht Texturwechsel.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Ist meiner Erfahrung nach auch einer der tödlicheren Vorgänge. Allerdings ich denke mal bei Doom3 sieht man, dass die Anzahl der Vorgänge entsprechend hoch ist. Sah mir mehr als eine Textur aus Allerdings sollten diese eben so weit wie Möglichst begrenzt werden. Also z.B. alle Einheiten des gleichen Types hintereinander rendern und nicht nach der Reihenfolge der ID um so nur einen Aufruf zu haben etc. Ließe sich ja aber auch leicht testen, ab wann so etwas eine Karte ausbremst
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Shaderwechsel sollen teilweise noch teuerer sein. Habe aber keine verläßlichen Zahlen bzw. in der Richtung noch keine Tests gemacht. Letztlich ist es auch egal, weil man ja oft beides zusammen wechselt.
Nach aktuellen Tests aus dem OpenGL.org Forum kann man die Texture, in die man hineinrendert, bis zu 10.000 Mal pro Sekunde wechseln (GF6) und das ist eine weitaus teurere Aktion als nur die Texture neu zu binden.
Bei mir schafft die Radeon 9800 ca 5.800.000 Texturewechsel mit jeweils 1024x1024 ohne Zeichnen. Als Grundlage habe ich das Template genommen. Das sagt natürlich überhaupt nichts aus, außer dass man sich bei 40 keine Sorgen zu machen braucht.
Zuletzt geändert von LarsMiddendorf am So Mär 27, 2005 11:15, insgesamt 2-mal geändert.
Registriert: Sa Nov 13, 2004 11:00 Beiträge: 229 Wohnort: Steinhude
Für die Zahlen hab ich bei einer relativ unoptimierten Fassung von einer terrainengine ein wenig die Anzahl der Texturwechsel hochgedreht, wodurch ich bei einer Radeon 9500pro auf ~100000 Texturwechsel / Sekunde kam, mit zeichnen der Texturen(1024) und dem ganzen Rest, wie geometrie, der auch noch dazukam.
Insofern sollte man sich wohl nicht übermäßig sorgen machen, wenn man nicht wirklich viele Texturwechsel hat,
Registriert: Do Jun 19, 2003 10:44 Beiträge: 991 Wohnort: Karlsfeld (nahe München)
Phobeus hat geschrieben:
Sah mir mehr als eine Textur aus Allerdings sollten diese eben so weit wie Möglichst begrenzt werden. Also z.B. alle Einheiten des gleichen Types hintereinander rendern und nicht nach der Reihenfolge der ID um so nur einen Aufruf zu haben etc. Ließe sich ja aber auch leicht testen, ab wann so etwas eine Karte ausbremst
Und wenn unsere Einheiten aus mehren Texturen bestehen? Ist es dann sinnvoll erst X mal Einzelteil A und anschließend X mal Einzelteil B des Modells zu rendern?
Es wäre echt mal interessant zu wissen was dieser Textur welchsel ausmacht. Sollte man einem Modell nur eine, aber dafür große Textur zu geben, oder sind viele kleine Texturen gut?
Zitat:
Für die Zahlen hab ich bei einer relativ unoptimierten Fassung von einer terrainengine ein wenig die Anzahl der Texturwechsel hochgedreht, wodurch ich bei einer Radeon 9500pro auf ~100000 Texturwechsel / Sekunde kam, mit zeichnen der Texturen(1024) und dem ganzen Rest, wie geometrie, der auch noch dazukam.
Könntest du dazu noch einen Vergleich posten. Und hast du Displaylisten verwendet?
MfG
Flo
_________________ Danke an alle, die mir (und anderen) geholfen haben. So weit... ...so gut
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.