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