Ich habe ein einfaches Programm, das Folgendes tut: 1) Benutzer zeigt eine Maus irgendwo, 2) dann drückt Benutzer Space, 3) und Computer macht eine bestimmte Menge von links -Button-Mausklicks an diesem Punkt.Clicker isst eine Menge Prozessorzeit - Python 3
Das Programm funktioniert gut, es gibt nur ein Problem - es isst 30-50% der Prozessorzeit auf einem 4-Core-Prozessor. Wo ist das Problem?
import pyautogui
import ctypes
pyautogui.FAILSAFE = True
def get_space_state():
hllDll = ctypes.WinDLL ("User32.dll")
VK_SPACE = 0x20
return hllDll.GetKeyState(VK_SPACE)
while True:
if get_space_state() == -127 or get_space_state() == -128:
print ("yes")
pyautogui.click(clicks=40 , interval=0.01)
Vielen Dank.
Vielen Dank für Ihre Antwort. 1) Wie und wo soll ich "schlafen"? 2) über "zweimal" - ich wechselte zu "wenn get_space_state() <0:" - nichts verbessert. 3) Kennen Sie die Art, NOT ganze User32.dll zu initialisieren - aber der einzige benötigte Teil davon? –
leider, nein, ich weiß nicht, wie man eine einzelne Funktion exportiert, aber es wird nicht viel ausmachen, wenn Sie einfach lib einmal exportieren - beim Laden – strangeqargo
Sie sind RECHTS. Das Problem wird mit nur einer Zeile gelöst: "time.sleep (0.02)" wird vor "if" eingefügt. Alles andere spielt keine Rolle. –