GUIOnEventMode verursacht CPU Last 25% -> Bug?

  • Hi,
    ich weiß ja das sich ein Skript in einer ständigen loop befindet um das Beenden des Skripts zu verhindern, aber ist oben genanntes normal -> ist mir heute zum ersten mal aufgefallen, obwohl ich jeden Tag mit AutoIT arbeite

  • Sofern du das sleep in der leeren while schleife nicht vergessen hast.

    Das kann ich so nicht bestätigen. Hab maximal mal zwischendurch 10%, aber sonst konstant bei ca. 5% wenn man nicht hunderte an prozessen auf hat.

    • Offizieller Beitrag

    Die CPU-Last kommt auf jeden Fall von dem vergessenen Sleep.
    Wobei man eigentlich auch ohne die While-Schleife auskommt:

    [autoit]


    #include <GUIConstantsEx.au3>
    Opt('GUIOnEventMode', 1)

    [/autoit][autoit][/autoit][autoit]

    $hGui = GUICreate('Test', 400, 300)
    GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseGui')
    GUISetState()
    WinWaitClose($hGui)
    Exit

    [/autoit][autoit][/autoit][autoit]

    Func _CloseGui()
    GUIDelete($hGui)
    EndFunc

    [/autoit]

    WinWaitClose reicht auch und läßt die CPU-Last ebenfalls unten.

  • Ach sorry, ich bin immer so vergesslich...

    So sieht meine Schleife aus:

    [autoit]

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    [/autoit]

    Wenn ich mich richtig informiert habe, sollte eigentlich bereits das GUIGetMsg() für einen break sorgen, nicht?