gpt4 book ai didi

python - root.query_pointer()._data 导致 CPU 使用率高

转载 作者:太空狗 更新时间:2023-10-29 12:26:03 26 4
gpt4 key购买 nike

我完全是 Python、编程和 Linux 的菜鸟。我写了一个简单的 python 脚本来跟踪各种应用程序的使用时间。我注意到一段时间后 python 会疯狂地使用 100% 的 CPU。原来是获取鼠标位置的代码导致了问题。

我试过在一个空的 python 脚本中运行这段代码:

import time
from Xlib import display

while True:
d = display.Display().screen().root.query_pointer()._data
print(d["root_x"], d["root_y"])
time.sleep(0.1)

它可以工作,但 CPU 使用率会随着时间的推移而增加。使用 time.sleep(1) 需要一些时间,但迟早会达到疯狂的值。

我在 Ubuntu 16.04.1 LTS 上使用 Python 3.5 和 python3-xlib 0.15

最佳答案

为了保持 CPU 通常稳定,我将 display.Display().screen() 放在循环之前,这样它就不必一直做这么多工作。屏幕不应更改,该值也不应更改,因此之前进行设置是有意义的。

import time
from Xlib import display
disp = display.Display().screen()
while True:
d = disp.root.query_pointer()._data
print(d["root_x"], d["root_y"])
time.sleep(0.1)

我已经对其进行了测试,它对我来说保持在 0.3% 左右。

希望这对您有所帮助:)

关于python - root.query_pointer()._data 导致 CPU 使用率高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com