Réglage de la Détection en Cache
La détection en cache est une fonctionnalité d'optimisation qui peut améliorer significativement les performances de votre macro en réduisant le nombre de captures d'écran nécessaires pendant l'exécution.
Comprendre la Détection en Cache
Par défaut, votre macro capture l'écran chaque fois qu'elle doit effectuer une détection de texte ou d'image. Bien que cela garantisse la précision, cela peut être intensif en termes de calcul. La détection en cache vous permet de stocker et de réutiliser la dernière image capturée, réduisant ainsi la surcharge des captures d'écran répétées.
Utilisation des Paramètres de Cache
Activer le Cache
# activer le cache
Settings:cacheOn();
Lorsque le cache est activé :
- La macro stocke la dernière image capturée en mémoire temporaire
- Les opérations de détection suivantes utilisent l'image en cache au lieu d'en capturer une nouvelle
- Réduit significativement l'utilisation du CPU et de la mémoire pendant les opérations de détection rapides
Désactiver le Cache
# désactiver le cache
Settings:cacheOff();
Lorsque le cache est désactivé :
- La macro capture une nouvelle image pour chaque opération de détection
- Fournit les informations d'écran les plus à jour
- Utile lorsque le contenu de l'écran change fréquemment
Bonnes Pratiques
-
Activer le cache quand :
- Vous effectuez plusieurs détections en succession rapide
- Le contenu de l'écran reste relativement statique
- L'optimisation des performances est une priorité
-
Désactiver le cache quand :
- Le contenu de l'écran change rapidement
- Une précision absolue de détection est requise
- L'utilisation de la mémoire est une préoccupation
Exemple d'Utilisation
# Activer le cache pour une séquence de détections liées
Settings:cacheOn();
Screen:find('Button 1.jpg');
Screen:find('Button 2.jpg');
Screen:find('Button 3.jpg');
# Désactiver le cache une fois terminé
Settings:cacheOff();
Paramètres Associés
Vous pouvez combiner la détection en cache avec d'autres paramètres d'optimisation :
Settings:grayscaleOn()
- Améliorer davantage les performances en traitant en niveaux de grisSettings:setScanInterval()
- Ajouter des délais entre les opérations de détectionSettings:setMinScore()
- Ajuster le seuil de précision de détection