Сценарий 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. Правильно ли я думаю, или мне искать первопричину в другом месте?

0 ответов

Другие вопросы по тегам