调整缓存检测
缓存检测是一项优化功能,可通过减少执行期间所需的屏幕捕获次数,显著提升您宏的性能。
理解缓存检测
默认情况下,您的宏每次需要执行文本或图像检测时都会捕获屏幕。这虽然确保了准确性,但计算开销可能较大。缓存检测允许您存储并复用上次捕获的帧,从而减少重复屏幕捕获的开销。
使用缓存设置
启用缓存
# turn cache on
Settings:cacheOn();
启用缓存后:
- 宏会将上次捕获的帧存储在临时内存中
- 后续的检测操作会使用缓存的帧,而不是捕获新帧
- 在快速连续的检测操作期间显著降低 CPU 和内存占用
禁用缓存
# turn cache off
Settings:cacheOff();
禁用缓存后:
- 宏会为每次检测操作捕获新帧
- 提供最新的屏幕信息
- 在屏幕内容频繁变化时很有用
最佳实践
-
在以下情况启用缓存:
- 需要快速连续地进行多次检测
- 屏幕内容保持相对静态
- 需要优先考虑性能优化
-
在以下情况禁用缓存:
- 屏幕内容快速变化
- 需要绝对准确的检测
- 需要关注内存占用
使用示例
# Enable cache for a sequence of related detections
Settings:cacheOn();
Screen:find('Button 1.jpg');
Screen:find('Button 2.jpg');
Screen:find('Button 3.jpg');
# Disable cache when done
Settings:cacheOff();
相关设置
您可以将缓存检测与其他优化设置结合使用:
Settings:grayscaleOn()- 通过灰度处理进一步提升性能Settings:setScanInterval()- 在检测操作之间添加延迟Settings:setMinScore()- 调整检测准确度阈值