Accélérer ma boucle while python

Bonjour,

J'ai codé un programme :

import pyautogui as pg
import time
import datetime
import winsound

time.sleep(5)
Mid = 1768,114

while True:
   
    if pg.pixel(824,475) != (21,16,8):
        pg.click(824,475)
        time.sleep(1)
        pg.moveTo(Mid)
        print('ABS1')
        print(datetime.datetime.now())
        time.sleep(10)

    if pg.pixel(833,624) != (71,54,11) and pg.pixel(1029,686) != (114,95,11):
        winsound.Beep(500,2500)
        quit()

J'ai besoin que ces boucle s'effectuent le plus vite possible ( d'autres personnes me battent en vitesse). Comment m'y prendre ? Dois je changer de langage ou peut etre cython ?
Windows / Chrome 103.0.0.0

5 réponses

  1. Contributeur

    Bonjour,

    As-tu essayé de réduire la durée des sleep()?

    1. En fait les sleep dans le if ne devrait pas changer la vitesse des boucles car le pixel change de couleur chaque minutes donc un sleep de 1-3 secondes après avoir clické ne change rien je pense 

      1. Contributeur

        peut-être que le programme qui modifie l'affichage de ces pixels ne les modifie pas assez vite?

      2. Contributeur

        Tu n'expliques pas à quoi sert ton programme.
        Tu écris "besoin que ces boucle s'effectuent le plus vite possible".
        Ensuite "un sleep de 1-3 secondes après avoir clické ne change rien".

    2. Comme j’utilise py auto gui, j’imagine que c’est un minimum optimisé d’autant plus que je ne sais pas comment faire autrement 

      1. Contributeur

        Quel est le programme qui modifie l'affichage de ces pixels?

    3. Je ne sais pas , j’utilise pyautogui.pixel

      1. Contributeur

        Tu n'expliques pas à quoi sert ton programme.

    4. Ah d’accord, bah simplement à avoir le temps de réaction le plus court (clicker dessus pour réinitialiser le pixel) lorsque le pixel change de couleur 

      1. Contributeur

        Qu'est-ce qui provoque le changement du couleur du pixel?