Seite 1 von 8
CPU-Auslastung bei PB 4.00
Verfasst: 11.10.2006 00:32
von RSBasic
Wenn ich damit arbeite und öfters kompiliere, dann ist das Programm auf 100 % CPU-Auslastung. Habt ihr eine Lösung?
Verfasst: 11.10.2006 00:35
von Kaeru Gaman
kommt drauf an, was für code du schreibst...
Verfasst: 11.10.2006 00:48
von RSBasic
@Kaeru Gaman
Ganz normaler code, ich habe mit PB 4.00 so mit openwindow() usw herumgecodet, dann ist öfters 100 % CPU-Auslastung
Verfasst: 11.10.2006 00:53
von edel
Benutze WaitwindowEvent statt WindowEvent.
Verfasst: 11.10.2006 07:08
von #NULL
für 'normale' anwendungen nimmst du
Code: Alles auswählen
Repeat
;...
event=WaitWindowEvent()
;...
Until event=#PB_Event_CloseWindow
..allerdings bleibt dein programm an WaitWindowEvent() immer stehen, solange keine neuen events auf bearbeitung warten.
für einen durchgängigen programmlauf nimmst du
Code: Alles auswählen
Repeat
;...
event=WindowEvent()
;...
Delay(5);oder irgendwas zwischen 1 und 100, je nach dem wieviel rechenleistung du maximal brauchst
Until event=#PB_Event_CloseWindow
oder besser noch
Code: Alles auswählen
Repeat
;...
event=WaitWindowEvent(10); hier wird das delay (der timeout-paramter) ignoriert, falls event auf bearbeitung warten
;...
Until event=#PB_Event_CloseWindow
wenn du einen WindowedScreen benutzt brauchst du einen ziemlich großen Delay oder Timeout, um die CPU zu schonen, was allerdings wiederum deinen programmfluß verlangsamt. da kann man aber auch was mit basteleien machen..
Verfasst: 11.10.2006 10:44
von RSBasic
Hi ihr, es liegt nicht an meine Programme. Es liegt an Pure Basic.
Ich weis nicht warum, aber könnt ihr mir helfen?
Hier ein Screenshot:
http://88.134.185.162/TM.jpg
PS: Wenn ich PB 4.00 schließe und erneut starte, ist gleich wieder CPU-Auslastung auf 100 %. Ich muss deshalb den PC neustarten. Dann ist wieder ok, aber es tritt immer wieder auf.
Verfasst: 11.10.2006 10:48
von AND51
Was soll denn daran so schlimm sein, dass PB für kurze Zeit, während des Kompilierens 100% beansprucht?
Jede EXE, die kurz mal ne schwere Aufgabe übernimmt, beansprucht im ersten Moment so viel CPU.
Außerdem hat PB währned des Kompilierens ja den Fokus. Windows weist der Anwendung, die den Fokus hat, ein bisschen (Zitat: 'slightly') mehr Priorität zu, als anderen Anwendungen.
Das heißt: Surfe ich, hat der IE mehr Priorität als PureBasic, das zwar offen, aber im Hintergrund ist.
Dieses Feature kann man aber ausschalten, sodass alle Programme die gleiche Priorität haben. Das geht über die Systemeigenschaften.
Ansonsten: Bastel dir doch ne kleine EXE (vielleicht max. 5 zeilen), welche beim starten des Editors die Priorität des Compilers auf 'Niedrig' setzt
Kannst du als Werkzeug in die PB IDE so einbinden, dass diese kleine EXE beim Start der IDE autom. ausgeführt wird (Menü Werkzeuge => Werkzeuge konfigurieren)

Verfasst: 11.10.2006 10:50
von RSBasic
@AND51
FALSCH!
Auch wenn ich nix mache und nicht kompiliere, dann ist es trotzdem mit dem 100 %
Verfasst: 11.10.2006 10:52
von #NULL
PureBasic.exe ist aber die IDE
der compiler ist PBCompiler
und die temporären executables sind für gewöhnlich PureBasic0.exe bis PureBasicn.exe
<edit>
..achso, na dann hat es doch sowieso nix mit deinem programm zu tun
Verfasst: 11.10.2006 10:53
von RSBasic
@#NULL
Purebasic.exe ist der Editor, weil wenn ich diesen Prozess beende, dann geht dieser Editor weg.