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

Aktuelle Zeit: Fr Jul 11, 2025 23:05

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 17 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 20, 2006 16:49 
Offline
DGL Member

Registriert: Mi Nov 08, 2006 17:35
Beiträge: 31
Hi,

gut dann gibt also ilutGLLoadImage() auch automatisch die Texture wieder frei. Das war eigentlich auch das anliegen der Frage. Mal was anderes mir ist aufgefallen, dass wenn ich die Szene in einer bestimmten Fenstergrösse öffnet(z.B glutInitWindowSize(500,500)) die Szene sehr flüssig läuft.

Sobald ich dasFenster maximiere bekomme ich einen gewissen Performanceverlust. Kann man das optimieren? Also wie gesagt kann man an meinen Fragen sehen, dass ich nicht ganz zufrieden bin mit der Darstellung meiner Szene. Die Frage ist liegt dass, an das was ich gecodet habe oder ist OpenGL in Sachen Performance nicht ganz flott. Oder liegt das an den glutFunktionen? Was habt ihr so für Erfahrungen..


mfg
mistirios


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Dez 20, 2006 17:48 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
ilutGLLoadImage: Ich denke mal das mit der Textur passiert alles innerhalb der Methode. Du bekommst ja auch nur ein OpenGL ID zurück. Allerdings solltest du nicht vergessen, dass die Textur 2 Mal Speicher benutzt. Ein mal dem im Windows den man richtig sehen kann und dann den auf der Grafikkarte. Der verhält sich ganz genau so wie der aus dem Windows. Wenn du eine Textur nicht mehr benötigst solltest du diese mittels des Befehls glDeleteTexture auch wieder löschen. Am Ende der Anwendung werden aber alle Objekte von OpenGL weggeräumt. Nur selbst dann vertrete ich die Meinung, dass man die auch schon vorher frei geben sollte. Sollte man sich gar nicht erst angewöhnen, dass die Dinge von anderen weggeräumt werden.

Performance: Das ist vollkommen normal. Um so größer das Fenster um so mehr Speicher beschlägt der Kontext von OpenGL. Bzw ums so mehr Speicher muss bei jedem Bild kopiert, gelöscht etc werden. Er muss ja selbst beim Rendern wesentlich mehr machen. Das braucht alles Zeit. Zwar nicht so wahnsinnig viel aber immerhin. Und da du so gut wie nichts darstellst machst sich das natürlich um so deutlicher in der Performance bemerkbar.

Es gibt auch heute noch das Problem, dass einige Operationen zwar kaum Rechenleistung benötigen dafür aber unmengen an Speicher kopiert werden müssen etc. Das sind das Probleme mit der Füllrate. Bei Spielen ist es auch üblich, dass der Colorbuffer (nur der Colorbuffer. Alle anderen schon) nicht glöscht wird. Da er sowieso wieder komplett übermalt wird und das also nur Zeit vergeuden würde.

Neues Thema im Thema: Pass bitte auf, dass dieses Thema nicht einem Sammelthread mutiert. Jemand der dein Ursprüngliches Thema nicht interessant fand wird hier nicht rein schauen selbst dann wenn er auf die aktuelle Frage was sagen könnte. Dadurch würdest du dir nur selber Wissen entziehen.


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


Wer ist online?

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.

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