AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi OpemGL - Prozessorlast senken
Thema durchsuchen
Ansicht
Themen-Optionen

OpemGL - Prozessorlast senken

Ein Thema von Airblader · begonnen am 25. Dez 2005 · letzter Beitrag vom 26. Dez 2005
Antwort Antwort
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#1

OpemGL - Prozessorlast senken

  Alt 25. Dez 2005, 19:21
Hi

Ich bin grade dabei mich mal ordentlich in OpenGL einzuarbeiten, folge dabei diesem Tutorial für das "Grundformular".

Da ich einen Timer verhindern möchte, weiche ich auf Variante 2 (Idle-Variante) aus. Allerdings steht dort, dass es 100% Prozessorlast verbrät (Was ein Timer am Ende wohl auch machen würde) und man es mit einem sleep(1) grade mal auf 80% senken kann.

Gibt es denn keine andere Variante um die Last unten zu halten?

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: OpemGL - Prozessorlast senken

  Alt 25. Dez 2005, 19:47
ähm,

wie wär's mit einem timer?
ich würde da noch einen thread vorschlagen. in der JVCL gibt's sogar eine komponente, die einen timer mithilfe eines threads realisiert (TJvThreadTimer).

aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: OpemGL - Prozessorlast senken

  Alt 25. Dez 2005, 20:08
Hi,
du machst in der Idle-Variante ja nichts anderes, als in eine Endlosschleife zu gehen. diese wird immer mit voller Priorität abgehandelt. Dadurch wirst du auch keine Last von unter 100% erreichen können. Die gesamte Rechenzeit, die dein Prozess bekommt wird genau in diese Schleife gesteckt.
Es sollte dich aber was OpenGL angeht nicht weiter stören. Es kommt sicherlich noch der Punkt, ab dem du etwas Ereignis gesteuerter renderst. Solange sich nichts verändert hat, wirst du auch nicht neu zeichnen wollen. Das senkt dann die Last ordentlich.
Alternativ kann ich dir sonst eine Kapselung (z.B. GLScene) empfehlen, da kannst du auch zusätzlich nativen OpenGL-Code verwenden, hast aber auch den Komfort der Kapselung.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#4

Re: OpemGL - Prozessorlast senken

  Alt 25. Dez 2005, 20:27
Naja gut, dann akzeptiere ich vorerst eben die 100%.
Eigentlich ist es doch auch nur ein Phänomen, da andere Anwendungen, die gestartet werden, ja nicht weniger leistungsstark sind - meine Anwendung brät die Auslastung einfach auf 100% hoch, oder?

Für den Anfang dürfte es ja dann noch nicht allzu wichtig sein

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Dominik

Registriert seit: 28. Apr 2003
14 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: OpemGL - Prozessorlast senken

  Alt 26. Dez 2005, 14:13
Ich habe mich in den letzten Tagen auch mit diesem Tutorial beschäftigt. Wenn du einen Timer benutzt geht die CPU Last so ziemlich gegen Null. Die Geschwindigkeit vom Timer reicht für meine Zwecke auch vollkommen aus. Wenn ich das richtig verstanden habe kann man damit ca. 40 Frames pro Sekunde darstellen.
Dominik Schmies
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#6

Re: OpemGL - Prozessorlast senken

  Alt 26. Dez 2005, 14:14
Ich hab es jetzt ohne Timer gemacht und dass die Last so oben ist, ist eig. nicht auffallend, es sei denn man schaut in den TM

Bin schon ein ganzes Stückchen weiter im Projekt...*fg*

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Dominik

Registriert seit: 28. Apr 2003
14 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: OpemGL - Prozessorlast senken

  Alt 26. Dez 2005, 14:18
Ich programmiere auf meinem Notebook. Wenn da die Last zu hoch ist heult der Lüfter so laut, dass man nach 10 min total genervt ist und es sein lässt...
Dominik Schmies
  Mit Zitat antworten Zitat
Benutzerbild von Mr_T
Mr_T

Registriert seit: 7. Jun 2002
Ort: Eilsum
136 Beiträge
 
Delphi 2005 Personal
 
#8

Re: OpemGL - Prozessorlast senken

  Alt 26. Dez 2005, 21:41
Jo, die 100% kommen wie bereits gesagt vom Idle ... denn das OnIdle-Event bewirkt in der Tat nichts anderes, als das alle LEistung genommen wird, die da ist. Aber eben genau das sollte ja bei Spielen / Grafikanwendungen meistens auch so sein.
Mit einem Timer (mit Werten so um 50) kann man das ganze in der Tat einschränken ... aber damit begrenzt man halt seine FPS auch auf 200 ... oder wie beim Lazarus-Timer ... bei dem habe ich konstant 64 FPs, wenn ich den zum Rendern nutze und ihn so schnell rennen lasse, wie möglich ... dafür habe ich denn aber auch nur 5-10 % CPU Last ... ok, je nach Anwendung und Prozessor / Grafikkern halt
Muss halt jeder selbst abwiegen wie es für einen selber am besten ist ...
Wegen Notebook: Ich progge auch nur auf nem Notebook ... aber das stört mich net die Bohne ... alle Ernergiesparoptionen ein, denn gammelt meine X700 Mobile mit halben Takt rum und die CPU (Pentium M) geht maximal 800 Mhz ... denn bleibt auch der Lüfter lieb
Mein neuer, 13 Teiliger Open GL - Kurs (Samples in Delphi):
www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Neu! Teil 2b: Initialisierung von OpenGL unter Kylix ist fertig!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz