我正在使用无限循环不断扫描屏幕上的X,Y位置,以等待颜色改变(我希望它尽快变色,然后尽快改变颜色,然后发送按键,但这使我的计算机滞后很多,如何改善代码的任何技巧?我已经尝试使用更多time.sleep
,但并没有太大帮助
import time
import pyautogui
from PIL import Image, ImageGrab
x = 100
y = 100
color = ImageGrab.grab().getpixel((x, y))
repeat = True
while repeat:
time.sleep(0.05)
newcolor = ImageGrab.grab().getpixel((x, y))
if newcolor != color:
pyautogui.press('b')
time.sleep(0.1)
如果可以找到计算机刷新屏幕的帧速率,假设每秒60帧,则可以设置time.sleep
,以便程序每秒仅检查60次。如果是60,则您的time.sleep
可能如下所示:
time.sleep(1 / framesPerSecond)
-707