Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Warum verursacht DelphiX eine CPU-Auslastung von 100% ? (https://www.delphipraxis.net/69572-warum-verursacht-delphix-eine-cpu-auslastung-von-100-a.html)

Sascha L 17. Mai 2006 09:51


Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Hi,

ich nutze DelphiX für Delphi 2005 und 2006 und wie ich auch hier schon im Forum gelesen habe, verursacht der Mist eine CPU-Auslastung von 100%, selbst dann, wenn gar nichts besonderes gemacht wird. Sobald ein DXDraw auf dem Formular ist, schnellt die Auslastung nach oben.

Gruß
Sascha

mbamler 17. Mai 2006 09:57

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Zitat:

Zitat von Sascha L
Hi,

ich nutze DelphiX für Delphi 2005 und 2006 und wie ich auch hier schon im Forum gelesen habe, verursacht der Mist eine CPU-Auslastung von 100%, selbst dann, wenn gar nichts besonderes gemacht wird. Sobald ein DXDraw auf dem Formular ist, schnellt die Auslastung nach oben.

Gruß
Sascha


Das ist leider auch bei meinen DelphiX-Anwendungen der Fall
Warum das so ist weiss ich leider auch nicht.

Such mal hier im Formum nach "Starfield", dann findest du ein paar Programme mit DelphiX, die ich mal gemacht habe

Gruß
Matthias

Sergej 17. Mai 2006 10:12

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Öhm ich kann mich ja irren, aber ist es nicht normal, dass sich eine DX-Anwendung nimmt was sie kriegen kann? Ist bei Spielen auch nicht anders. Die laufen alle mit 100% CPU-Auslastung...

Sascha L 17. Mai 2006 10:20

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Aber irgendwie muss man das doch umgehen können, wenn man es nicht braucht. Ich will mir doch nicht vorschreiben lassen, wieviel die Anwendung benötigt. Ich weiß selber, wie viel sie ca. brauch und 100% sind da bei weitem zu viel.

Aber wenn man keinen Code hat, was macht dann DXDraw dass es 100% verbraucht? Wenn ich verdammt viel rendern würde, wäre es logisch.

Vor allem ist die CPU-Auslastung ein Problem, wenn man eine Anwendung programmiert, die nicht im Fullscreen-Mode läuft. Da darf der User auch noch andere Dinge machen und das geht nicht mehr, wenn die Auslastung bei 100% ist. Außerdem steht der auszuführende Code in keinem Verhältnis zum CPU-Verschleiß, Strom-Verbrauch und der Hitzeentwicklung der CPU bei 100% Auslastung.

Luckie 17. Mai 2006 10:29

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Das wird die Spielschleife sein. Aber so lange die CPU Zeit auch wieder abgegeben wird, wenn sie andere Prozesse brauchen ist es doch in Ordnung. Mein Auto hat ja auch fünf Gänge uch ich versuche nicht krampfhaft mit 120 im ersten Gang über die Autobahn zu rasen. Wozu hats du denn eine CPU im Rechner, wenn nicht zum Rechnen?

vlees91 17. Mai 2006 11:57

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
imho bracuht auch opengl 100%ige auslastung, aber ich glaube auch, dass das keinen stört, denn die kapazität wird für andere programme wieder hergegeben

jim_raynor 17. Mai 2006 12:10

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Wenn du einen DXTimer mit einem Interval von 0 hast, dann ist klar woher die Auslastung von 100% kommt ...

Ich nutze auch DelphiX und glaube, dass dort die CPU nicht mit 100% belastet ist, einfach weil ich, aus diversen Gründen, meinen Timer nur auf 25ms gelegt habe.

Durch DelphiX selbst kommt diese Auslastung also nicht zu stande ;)

Sascha L 17. Mai 2006 13:34

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Ne das stimmt nicht.

Das maximalste, was man eingeben kann ist 40ms, weil das 25fps entspricht, aber selbst da ist die Auslastung so extrem.

Daniel G 17. Mai 2006 13:36

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Na ja, aber wie schon erwähnt, wenn die CPU Zeit abgeben kann, dann wird sie's auch tun. Der einzige Nachteil ist vielleicht, dass sie schneller warm werden kann...

jim_raynor 17. Mai 2006 13:52

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Zitat:

Zitat von Sascha L
Ne das stimmt nicht.

Das maximalste, was man eingeben kann ist 40ms, weil das 25fps entspricht, aber selbst da ist die Auslastung so extrem.

Bei einem TTimer stimme ich dir zu, aber DelphiX liefert einen TDXTimer mit, der eine höhere Auflösung hat und wenn man dort 0ms angibt, dann wird die Funktion immer und immer wieder ohne Verzögerung aufgerufen.

Khabarakh 17. Mai 2006 14:12

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Wer für eine Desktopandwendung eine Spielschleife verwendet, ist selbst schuld :stupid: .
Einfach nur bei Änderungen und im Paint-Ereignis rendern, ist doch kein Problem. Damit liegt die Auslastung nicht höher als bei sonstigen Windowsandwendungen.

Zitat:

Zitat von Sascha L
Das maximalste, was man eingeben kann ist 40ms, weil das 25fps entspricht, [...]

Was ist denn das bitte für eine Erklärung :gruebel: ? Die minimale Auflösung liegt unter NT AFAIR bei 14 ms. Aber wie gesagt gilt das nur für den auf Windows-Messages aufbauenden TTimer.

Der_Unwissende 17. Mai 2006 14:20

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Zitat:

Zitat von Khabarakh
Wer für eine Desktopandwendung eine Spielschleife verwendet, ist selbst schuld :stupid:

Deswegen übernimmt das wohl DelphiX für dich ;-)

Ist in der Regel nur eine einfache Methode um die Rechenzeit am BS vorbei selbst zu verwalten, halt ein eigener Sheduler für alle Delphi-X Kompos. Denen kann man dann wieder Prioritäten zuweisen, je nach echter Auslastung (durch andere Programme). Aber weder OpenGL noch DirectX nutzen 100% der CPU (wozu auch, die Grafikprozessoren sind meist eh viel schneller, weil auf diese Schnittstellen optimiert)

Gruß Der Unwissende

jim_raynor 17. Mai 2006 14:40

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Zitat:

Zitat von Der_Unwissende
Zitat:

Zitat von Khabarakh
Wer für eine Desktopandwendung eine Spielschleife verwendet, ist selbst schuld :stupid:

Deswegen übernimmt das wohl DelphiX für dich ;-)

DelphiX hat keine eigene Spieleschleife ... und eine eigene Verwaltung der CPU-Ressourcen schon garnicht.

Aber Sascha wird uns bestimmt bald mitteilen, ob es am Timer liegt.

TeronG 17. Mai 2006 14:44

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Zitat:

Zitat von Sascha L
Ne das stimmt nicht.

Das maximalste, was man eingeben kann ist 40ms, weil das 25fps entspricht, aber selbst da ist die Auslastung so extrem.

häää?
Soll das heißen, daß ich mit DelphiX keine Frameraten über 25 machen kann?
(hab noch nix damit gebastelt kenn mich also 0 damit aus also sorry wenn ich da was missverstehe)

Sascha L 17. Mai 2006 21:42

Re: Warum verursacht DelphiX eine CPU-Auslastung von 100% ?
 
Natürlich kann man jeden beliebigen Wert (>=0) eintragen, aber damit es nicht ruckelt, müssen es schon mind 25fps sein und das entspricht ca. 40 ms.


@Khabarakh: Das Problem ist, dass dann ein scrollender Text flackert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:18 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