Chuyển tới nội dung chính

Tinh chỉnh nhận diện bằng bộ nhớ đệm

Nhận diện bằng bộ nhớ đệm là một tính năng tối ưu hóa có thể cải thiện đáng kể hiệu suất macro của bạn bằng cách giảm số lượng lần chụp màn hình cần thiết trong quá trình thực thi.

Hiểu về nhận diện bằng bộ nhớ đệm

Theo mặc định, macro của bạn chụp màn hình mỗi khi cần thực hiện nhận diện văn bản hoặc hình ảnh. Mặc dù điều này đảm bảo độ chính xác, nó có thể tốn nhiều tài nguyên tính toán. Nhận diện bằng bộ nhớ đệm cho phép bạn lưu trữ và tái sử dụng khung hình được chụp cuối cùng, giảm thiểu chi phí của việc chụp màn hình lặp đi lặp lại.

Sử dụng cài đặt bộ nhớ đệm

Bật bộ nhớ đệm

# turn cache on
Settings:cacheOn();

Khi bộ nhớ đệm được bật:

  • Macro lưu khung hình được chụp cuối cùng vào bộ nhớ tạm
  • Các thao tác nhận diện tiếp theo dùng khung hình đã lưu thay vì chụp một khung mới
  • Giảm đáng kể việc sử dụng CPU và bộ nhớ trong các thao tác nhận diện liên tiếp

Tắt bộ nhớ đệm

# turn cache off
Settings:cacheOff();

Khi bộ nhớ đệm được tắt:

  • Macro chụp một khung hình mới cho mỗi thao tác nhận diện
  • Cung cấp thông tin màn hình mới nhất
  • Hữu ích khi nội dung màn hình thay đổi thường xuyên

Thực hành tốt nhất

  1. Bật bộ nhớ đệm khi:

    • Thực hiện nhiều lần nhận diện liên tiếp nhanh chóng
    • Nội dung màn hình giữ tương đối tĩnh
    • Tối ưu hóa hiệu suất là ưu tiên
  2. Tắt bộ nhớ đệm khi:

    • Nội dung màn hình thay đổi nhanh
    • Yêu cầu độ chính xác tuyệt đối khi nhận diện
    • Việc sử dụng bộ nhớ là một vấn đề đáng lo ngại

Ví dụ sử dụng

# 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();

Cài đặt liên quan

Bạn có thể kết hợp nhận diện bằng bộ nhớ đệm với các cài đặt tối ưu hóa khác:

  • Settings:grayscaleOn() - Cải thiện thêm hiệu suất bằng cách xử lý ở thang độ xám
  • Settings:setScanInterval() - Thêm độ trễ giữa các thao tác nhận diện
  • Settings:setMinScore() - Điều chỉnh ngưỡng độ chính xác nhận diện