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()?

    0
    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 

      0
      1. Contributeur

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

        0
      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".

        0
    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 

      0
      1. Contributeur

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

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

      0
      1. Contributeur

        Tu n'expliques pas à quoi sert ton programme.

        0
    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 

      0
      1. Contributeur

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

        0