CPU-Auslastung bei PB 4.00

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

CPU-Auslastung bei PB 4.00

Beitrag von RSBasic »

Wenn ich damit arbeite und öfters kompiliere, dann ist das Programm auf 100 % CPU-Auslastung. Habt ihr eine Lösung?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

kommt drauf an, was für code du schreibst...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Kaeru Gaman
Ganz normaler code, ich habe mit PB 4.00 so mit openwindow() usw herumgecodet, dann ist öfters 100 % CPU-Auslastung
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Benutze WaitwindowEvent statt WindowEvent.
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag 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..
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag 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.
Zuletzt geändert von RSBasic am 11.10.2006 10:48, insgesamt 1-mal geändert.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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 :mrgreen:
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) :mrgreen: :lol:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@AND51
FALSCH!
Auch wenn ich nix mache und nicht kompiliere, dann ist es trotzdem mit dem 100 %
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag 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
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@#NULL
Purebasic.exe ist der Editor, weil wenn ich diesen Prozess beende, dann geht dieser Editor weg.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Gesperrt