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

Aktuelle Zeit: Do Jul 17, 2025 11:53

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: performance
BeitragVerfasst: So Apr 15, 2012 10:41 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
also, ich hatte eine DisplayList, die mit 10^5 Dreiecken gefüllt wurde. Das ganze hat ca. eine Minute gedauert (zusammen mit dem Berechnen der Vertexdaten) jetzt fülle ich stattdessen ein VBO mit diesen Daten, und es dauert immer noch ungefähr genauso lang.
heißt das, dass
•VBOs hier nicht schneller sind als DisplayListen (obwohl die Daten auf einmal übertragen werden und nicht alles extra)
•der BottleNeck woanders liegt (wobei zB eine Reduktion der Anzahl der Rotationen um ca. die Hälfte auch genau nichts gebracht hat; eigentlich bleiben als Möglichkeit nur noch die StringOperationen des LSystems über edit: die sind’s auch nicht, die sind spätestens nach ein paar Sekunden fertig; der „Fehler“, ein Array für jedes hinzugefügte Element zu erweitern war sogar schneller als nur für jedes 10 000te)
eine Minute für 10^5 Dreiecke kommt mir halt schon sehr viel vor.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: performance
BeitragVerfasst: So Apr 15, 2012 10:56 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
Naja, ob der Treiber eine DisplayList stumpf in ein VBO kopiert oder ob er noch lange daran herumoptimiert, um weniger Speicherverbrauch oder mehr Rendergeschwindigkeit zu erreichen, bleibt ihm überlassen. Ich gehe zumindest bei aktuellen Grafikkarten davon aus, dass hardwarespezifische Optimierungen ausbleiben, da die DisplayList-Funktion ja schon ziemlich veraltet ist - warum sollten die Treiberentwickler also noch viel Energie hineinstecken?

Von VBOs profitiert man eigentlich erst dann richtig, wenn man das Vertexformat genau an seine Bedürfnisse anpasst oder z.B. zusätzlich ein IBO verwendet. Zudem sollte man sich klar machen, was man damit erreichen will: schnelles Rendern, wenig Speicherverbrauch oder schnelles aufbauen/ändern des VBOs?

Um sagen zu können, ob du an anderer Stelle ein Bottleneck hast, wäre ein bisschen Code vielleicht hilfreich... :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: performance
BeitragVerfasst: So Apr 15, 2012 12:07 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Ja, sofern du das nicht gerade auf einem Smartphone oder einem Toaster versuchst ist eine Minute wirklich sehr langsam für 100000 Dreiecke. Da ist irgendwas anderes falsch.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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.006s | 14 Queries | GZIP : On ]