Сценарий Python с использованием ImageGrab вызывает периодические заикания
Код здесь:
def getColor():
return ImageGrab.grab().getpixel(position) #was mouse.position
def crash_detect():
global running, crashed
if isOnL(getColor()):
printColor("(" + str(datetime.now().strftime("%H:%M")) + ")" + " Condition1", Fore.BLUE)
crashed = True
running = False
def finish_detect():
global running
if isInM(getColor()):
printColor("(" + str(datetime.now().strftime("%H:%M")) + ")" + " Condition2", Fore.YELLOW)
running = False
killProcess() #simply kills a process using os.system(taskkill)
def handleExceptions():
crash_detect()
finish_detect()
while True:
while running:
crashed = False
if mouse.position != position:
mouse.position = position
mouse.press(Button.right)
time.sleep(random.uniform(p_duration.__getitem__(0), p_duration.__getitem__(1)))
keyboard.press("h")
time.sleep(random.uniform(w_duration.__getitem__(0), w_duration.__getitem__(1)))
keyboard.release("h")
mouse.release(Button.right)
handleExceptions()
if autoresume and crashed:
crash_recovery()
isOnL и isInM — это просто функции, которые сравнивают цвет с набором известных цветов.
Это часть сценария, который вызывает периодические всплески загрузки ЦП на моем ноутбуке; всплески, кажется, происходят относительно периодически, что заставляет меня думать, что это из-за функции getPixel() ImageGrab. Правильно ли я думаю, или мне искать первопричину в другом месте?