[..] Optimisation d'un script

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Natsu
Niveau 2
Niveau 2
Messages : 26
Enregistré le : sam. 17 avr. 2010 20:40
Status : Hors ligne

[..] Optimisation d'un script

#1

Message par Natsu »

Salut a tous, en testant un script je me suis rendu compte que il n'a jamais la même rapidité. Mon script cherche un pixel de couleur spécifique, clique (coche une case type "ratio"), cherche un autre pixel... clique encore ...etc mais des fois il est rapide et des fois il met du temps a répondre....
PS : Aucun bot est la dessous lol

Code : Tout sélectionner

HotKeySet("{F6}", "_Exit")

While 1
    Dim $fov[4] = [xxx, xxx, xxx, xxx]
    $color = 0xxxxxxx
    $Variable = PixelSearch($fov[0], $fov[1], $fov[2], $fov[3], $color)
    If IsArray($Variable) = True Then
        MouseClick("left", $Variable[0], $Variable[1], 1, 0)
    EndIf
WEnd

Func _Exit()
    Exit
EndFunc   ;==>_Exit
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Optimisation d'un script

#2

Message par jbnh »

Un petit sleep(50) dans la boucle permettera au PC de respirer un peu.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
Natsu
Niveau 2
Niveau 2
Messages : 26
Enregistré le : sam. 17 avr. 2010 20:40
Status : Hors ligne

Re: [..] Optimisation d'un script

#3

Message par Natsu »

Le pc est donc submergé et lag, ce qui engendre également un lag du script ?
Merci, j'essaye

Edit : Le script est beaucoup moins performant avec un Sleep ^^
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Optimisation d'un script

#4

Message par SagePourpre »

Regarde la fonction pixelsearch...

As-tu vraiment besoins de rechercher pixel par pixel ?

Code : Tout sélectionner

PixelSearch ( left, top, right, bottom, color [, shade-variation [, step [, hwnd]]] )
Si tu recherches un carré rouge (exemple) d'une cinquantaine de pixels, le paramètre "step" pourrait
être mis à 40 et quand même te donné ton résultat ( tout en rendant le script 40 fois plus rapide )

Assure toi aussi d'optimiser la zone de recherche afin qu'elle couvre bien l'endroit à chercher mais
sans plus. Rien ne sert de chercher dans tout l'écran si la zone à traiter fait 500x500px

Sinon, comme jbnh l'a mentionné, un sleep(50) diminuera l'usage du processeur...
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Optimisation d'un script

#5

Message par Tlem »

La déclaration du tableau $fov et de la variable $color n'ont rien à faire dans la boucle.

+1 pour le Sleep.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre