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

Aktuelle Zeit: Fr Jul 18, 2025 00:20

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



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Ein / Ausschalten der 3D Ansicht
BeitragVerfasst: Di Apr 04, 2006 12:16 
Offline
DGL Member

Registriert: Fr Apr 15, 2005 10:30
Beiträge: 28
Moin !

Wie würdet ihr eigentlich die 3D Ansicht am einfachsten ein und ausschalten? Weil ich brauche in meiner Soft nicht immer die 3D Ansicht und zwecks CPU Schonung würde ich die dann gerne abschalten.

Macht es Sinn einfach das Event Application.OnIdle := NIL; zu setzen und wenn ich 3D brauche wieder auf Application.OnIdle := ApplicationEventsIdle; ?

Oder gibts da was eleganteres ?!

_________________
Greetz Moelski


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 04, 2006 12:50 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Da du selber renderst hättest du auch die Möglichkeit nicht in einer Endlosschleife (OnIdle) sondern nur dann zu rendern, wenn es vorlangt wird.

Was musst du dafür tun. Nur mal aus der Betrachtung eines Formulares.

Im OnShow Initialisierst du OpenGL
Im OnClose Deinitialisierst du es.
(Spielt eigentlich keine Übergeordnete Rolle wo das passiert)

Im OnPaint renderst du + SwapBuffers. Wenn OpenGL noch nicht initialisiert sein kann musst du es hier abprüfen ob es das ist oder nicht.

Wenn dein Fenster jetzt von hand neu gezeichnet werden muss dann rufst du Form.Repaint auf. Damit wird das Fenster neu gezeichnet. Sonst wird es immer nu gezeichnet wenn dies auch nötig ist. Du könntest auch weiterhin im OnIdle Repaint (Oder direkt die Methode aufrufen). Damit würdest du wieder die schnellste Rendermethode haben. Aber das müsstest du aber nicht mehr. Wenn du Animationen hast und die genaue Einhaltung der FPS nicht so wichtig ist, dann kannst du auch mit einem Timer da Repaint aufrufen. Damit dürftest du sehr deutlich die CPU-Leistung reduzieren können. Ohne Animationen zeichnest du nur im OnPaint. Dann brauchst du die Ansicht auch nicht zu deaktivieren. Sie macht ja dann meistens nichts.


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


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.006s | 14 Queries | GZIP : On ]