【发布时间】:2021-11-15 01:03:45
【问题描述】:
所以我要参加为期 3 天的教育研讨会,这对我来说没有多大用处,所以我正在将我的程序写在纸上,我想知道一些事情,因为我目前无法对其进行测试.
我基本上是在扫描屏幕以获取图像,屏幕分为 8 个部分。我不需要扫描所有 8 个片段,但例如现在,假设我只需要扫描可以弹出图像的 8 个片段中的 5 个。
让pyautogui 扫描整个屏幕并写下看到图像的坐标是否更快,然后我会通过协调它在哪个屏幕上弹出来知道,还是进行多个pyautogui 搜索更快?有定义的区域?那么如果pyautogui 搜索整个屏幕一次或者pyautogui 使用定义的区域进行多次搜索,只搜索屏幕的 20-70% 会更快吗?
如果这取决于我最终搜索了多少屏幕,那么一个比另一个更快的近似百分比是多少?例如:搜索 4 次 50% 屏幕比搜索 100% 屏幕快,但搜索 6 次 75% 屏幕比搜索 100% 慢。
【问题讨论】:
-
难道你不能简单地使用内置的
timeit模块来确定你自己想了解什么吗? -
@martineau 如前所述,这 3 天我在纸上写了大量程序,我不在我的电脑上,所以我无法测试,这些天我也无法在电脑上使用。我所采用的方法对于我将如何编写程序的其余部分至关重要(这在纸上也可能不会这样做)。这就是为什么我在这里问=/
-
如果你搜索的方式对于如何编写程序的其余部分至关重要,那么这听起来像是一个糟糕的设计,所以我建议你重新考虑你的方法'正在服用。也有可能你正在做premature optimization——这也是个坏主意……
-
@martineau 它的不同之处在于:搜索整个屏幕将返回坐标,然后确定在哪个屏幕上看到它(即坐标 0-500、0-500 是屏幕一、500-1000、 500-1000 是屏幕 2),而第二种方法将有多个带有定义区域的 pyautogui 搜索。然后我立即知道是否某些 pyautogui 找到它,然后它是它正在搜索的指定屏幕(因为该搜索仅在该屏幕的区域中)
标签: python python-3.x pyautogui