Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 12:10

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: texturgrößen in OpenGL
BeitragVerfasst: Fr Mär 25, 2005 13:49 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 12:26
Beiträge: 53
Wohnort: Dornbirn
Ich hab mal gehört, dass OpenGL mit Texturen, die größer als 4MB sind nicht gut zurecht kommt.
Ist da was dran, oder ist das totaler Quatsch?

Gruß Stefan

_________________
Good software is like sex, it's best when it's free


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 13:57 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 14:19 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
Schau mal hier für Infos zur Hardware:
http://www.delphi3d.net/
Bei Ati gehts demnch bis 2048², bei NVidia bis 4096²


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 18:39 
Offline
DGL Member
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 18:53 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 20:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 12:26
Beiträge: 53
Wohnort: Dornbirn
Bei meiner Ati Rage, schätze ich, dass sie nicht mehr beschleunigt wird (4096²). < 8 fps wenn sie angezeigt wird.

Ps. Wieviel Texturwechsel sind denn in Ordnung pr Frame? Hab jetzt ~ 40 Texturwechsel

(möchte die optimalste Perfomance erzeugen)

_________________
Good software is like sex, it's best when it's free


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 20:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 20:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 12:26
Beiträge: 53
Wohnort: Dornbirn
Sehr gut... Ich dachte immer wenn man Befehle wie glPushMatrix\glPopMatrix, sowie glBindTexture zu oft verwendet, ist das der Tod für OpenGL

_________________
Good software is like sex, it's best when it's free


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 25, 2005 21:00 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
ist es auch...
wenn man es alle paar Vertices macht.
aber nen paar tausend pro frame sind auf halbwegs modernen Grakas noch absolut problemlos machbar


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 26, 2005 23:49 
Offline
Guitar Hero
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 00:33 
Offline
Fels i.d. Brandung
Benutzeravatar

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..."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 00:35 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
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.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 10:44 
Offline
DGL Member
Benutzeravatar

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,


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 12:51 
Offline
DGL Member
Benutzeravatar

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 27, 2005 13:23 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
:twisted: Womit wir ja wieder indirekt bei einem DGL-Benchmark sind, um solche Werte einmal fest zu dokumentieren ;-)

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 15 Queries | GZIP : On ]