【发布时间】:2021-10-18 05:46:53
【问题描述】:
我有一个程序,它在按住鼠标时将鼠标移动某个坐标,当松开鼠标键时它会停止。但是,下面的代码有时会占用我 90% 以上的 CPU。如何使下面的代码更高效/占用更少的 CPU 资源?
import pynput
import pyautogui
delta_x = [1,2,3]
delta_y = [3,2,1]
def on_press_start(*args):
if args[-1]:
return False
def on_press_loop(*args):
if not args[-1]:
return False
while True:
i = 0
with Listener(on_click=on_press_start) as listener:
listener.join()
with Listener(on_click=on_press_loop) as listener:
for i in range(len(delta_x)):
pyautogui.move(delta_x[i],delta_y[i])
if not listener.running:
break
print(i)
【问题讨论】:
-
你试过在你的 while 循环中添加 sleep() 吗?
-
@Tranbi,感谢您的评论,但我希望在每次循环迭代/鼠标单击和释放之间有尽可能少的延迟