100 % CPU-Auslastung
Moderator: Moderatoren
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
100 % CPU-Auslastung
Ich habe noch ein paar alte Clipperprogramme die unter Win7 32-Bit laufen. diese ziehen aber die CPU auf 100 %. Hat jemand einen tipp, wie ich diese ausschalten, bzw. reduzieren kann.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2829
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 97 Mal
- Danksagung erhalten: 13 Mal
Re: 100 % CPU-Auslastung
Hallo, Rolf -
schau mal in die GetSys rein. Da wirst meist mit Inkey() operiert, und das zieht die CPU runter (bzw. die Auslastung hoch), da Clipper-Programme nie was davon gehört haben, dass auch andere die CPU brauchen könnten.
Du solltest das auf Inkey(0.1) ändern (siehe auch ftp://ftp.alaska-software.com/acsn/cliputil.zip über die DBU/RLU Portierung, da wird auch darauf eingegangen).
schau mal in die GetSys rein. Da wirst meist mit Inkey() operiert, und das zieht die CPU runter (bzw. die Auslastung hoch), da Clipper-Programme nie was davon gehört haben, dass auch andere die CPU brauchen könnten.
Du solltest das auf Inkey(0.1) ändern (siehe auch ftp://ftp.alaska-software.com/acsn/cliputil.zip über die DBU/RLU Portierung, da wird auch darauf eingegangen).
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- BJelinek
- Rekursionen-Architekt
- Beiträge: 221
- Registriert: Sa, 02. Jun 2012 20:57
- Wohnort: 73257 Köngen
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 3 Mal
Re: 100 % CPU-Auslastung
Hallo Rolf,
ich benutze die oslib.lib 1.06 und die Blinker 7 Function BLICPUREL()
gemeinsam.
Vor dbedit() und achoise() ein bfbyield(1) und danach wieder aus bfbyield(0)
INKEY wird durch bfbinkey ersetzt
Beim Start der der DOS-Box weise ich Ihr abwechselnd eine CPU zu (Wenn mehrere vorhanden).
Verteilt die Last wenn man das Programm mehrfach öffnet.
ich benutze die oslib.lib 1.06 und die Blinker 7 Function BLICPUREL()
gemeinsam.
Code: Alles auswählen
FUNC BFBInkey(xx)
LOCAL nKey := 0
if xx == Nil .OR. valType(xx) <> "N"
BFBYield(3) // OL_Yield()
nKey := INKEY()
elseif xx <> 0
BFBYield(3) // OL_Yield()
nKey := INKEY(abs(xx))
else
do while ( ( nKey := INKEY(.1) ) == 0 )
BFBYield(3) // OL_Yield()
enddo
*INKEY(0)
endif
RETURN nKey
FUNC BFBYield( nModus )
static lMitOsLib
local xRet := NIL
if lMitOsLib = nil
BLICPUREL()
lMitOsLib := .t.
if .not. BFBWINNT()
lMitOsLib := .f.
endif
if lMitOsLib
privat cWAWISETI,TT
cWAWISETI := "WAWI_SET.INI"
if file(cWAWISETI)
TT := memoread(cWAWISETI)
TT := STRTRAN(TT," ")
TT := upper(TT)
IF "BFBCPUMIN=N" $ TT
lMitOsLib := .f.
endif
endif
endif
IF lMitOsLib
IF upper(GETE("BFBCPUMIN"))="N"
lMitOsLib := .f.
endif
endif
endif
if lMitOsLib
if nModus = 0
OL_AutoYield( .f. )
elseif nModus = 1
OL_AutoYield( .t. )
elseif nModus = 3
xRet := OL_Yield()
endif
endif
return xRet
INKEY wird durch bfbinkey ersetzt
Beim Start der der DOS-Box weise ich Ihr abwechselnd eine CPU zu (Wenn mehrere vorhanden).
Verteilt die Last wenn man das Programm mehrfach öffnet.
Grüße
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Bernd
Mitglied des Deutschsprachige Xbase-Entwickler e. V.