Optimierung der Cache-Erkennung
Die Cache-Erkennung ist eine Optimierungsfunktion, die die Leistung Ihres Makros erheblich verbessern kann, indem sie die Anzahl der erforderlichen Bildschirmaufnahmen während der Ausführung reduziert.
Grundlagen der Cache-Erkennung
Standardmäßig nimmt Ihr Makro bei jeder Text- oder Bilderkennung den Bildschirm auf. Dies gewährleistet zwar Genauigkeit, kann aber rechenintensiv sein. Die Cache-Erkennung ermöglicht es Ihnen, den zuletzt aufgenommenen Frame zu speichern und wiederzuverwenden, was den Aufwand wiederholter Bildschirmaufnahmen verringert.
Verwendung der Cache-Einstellungen
Cache aktivieren
# turn cache on
Settings:cacheOn();
Wenn der Cache aktiviert ist:
- Das Makro speichert den zuletzt aufgenommenen Frame im temporären Speicher
- Nachfolgende Erkennungsvorgänge verwenden den zwischengespeicherten Frame anstatt einen neuen aufzunehmen
- Reduziert die CPU- und Speichernutzung bei schnellen Erkennungsvorgängen erheblich
Cache deaktivieren
# turn cache off
Settings:cacheOff();
Wenn der Cache deaktiviert ist:
- Das Makro nimmt für jeden Erkennungsvorgang einen neuen Frame auf
- Liefert die aktuellsten Bildschirminformationen
- Nützlich, wenn sich der Bildschirminhalt häufig ändert
Bewährte Verfahren
-
Cache aktivieren, wenn:
- Mehrere Erkennungen in schneller Folge ausgeführt werden
- Der Bildschirminhalt relativ statisch bleibt
- Leistungsoptimierung Priorität hat
-
Cache deaktivieren, wenn:
- Der Bildschirminhalt sich schnell ändert
- Absolute Erkennungsgenauigkeit erforderlich ist
- Speicherverbrauch ein Anliegen ist
Beispielverwendung
# 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();
Verwandte Einstellungen
Sie können die Cache-Erkennung mit anderen Optimierungseinstellungen kombinieren:
Settings:grayscaleOn()- Die Leistung weiter verbessern durch Verarbeitung in GraustufenSettings:setScanInterval()- Verzögerungen zwischen Erkennungsvorgängen hinzufügenSettings:setMinScore()- Den Schwellenwert für die Erkennungsgenauigkeit anpassen