跳到主要内容

调整缓存检测

缓存检测是一项优化功能,可通过减少执行期间所需的屏幕捕获次数,显著提升您宏的性能。

理解缓存检测

默认情况下,您的宏每次需要执行文本或图像检测时都会捕获屏幕。这虽然确保了准确性,但计算开销可能较大。缓存检测允许您存储并复用上次捕获的帧,从而减少重复屏幕捕获的开销。

使用缓存设置

启用缓存

# turn cache on
Settings:cacheOn();

启用缓存后:

  • 宏会将上次捕获的帧存储在临时内存中
  • 后续的检测操作会使用缓存的帧,而不是捕获新帧
  • 在快速连续的检测操作期间显著降低 CPU 和内存占用

禁用缓存

# turn cache off
Settings:cacheOff();

禁用缓存后:

  • 宏会为每次检测操作捕获新帧
  • 提供最新的屏幕信息
  • 在屏幕内容频繁变化时很有用

最佳实践

  1. 在以下情况启用缓存

    • 需要快速连续地进行多次检测
    • 屏幕内容保持相对静态
    • 需要优先考虑性能优化
  2. 在以下情况禁用缓存

    • 屏幕内容快速变化
    • 需要绝对准确的检测
    • 需要关注内存占用

使用示例

# 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() - 调整检测准确度阈值