Page 1 sur 1

Connaitre la fin du rafraîchissement d'une fentre?

Publié : sam. 27/mai/2006 23:30
par Dräc
Je constate qu’un programme avec une OpenWindowedScreen() peut présenter des lenteurs lors de l’affichage d’une nouvelle fenetre contenant des gadgets.
J’aimerai donc redonner la pleine puissance au processeur le temps qu’il affiche la fenetre.
Comment faire pour connaitre la fin du rafraîchissement de cette fenêtre?

Publié : dim. 28/mai/2006 1:35
par Dräc
Voici ma solution:

Code : Tout sélectionner

    NextEvent:
    WndEvent =WaitWindowEvent()
      
    Select WndEvent
    Case #PB_Event_Repaint        
      Goto NextEvent ; On attend que la fenetre soit rafraichie
    EndSelect

Publié : dim. 28/mai/2006 9:37
par wolfjeremy
Mouai, tu pourrais surement encore gagner de la puissance du processeur en evitent le Goto non ? :?

Publié : dim. 28/mai/2006 9:53
par Backup
Dräc a écrit :Voici ma solution:

Code : Tout sélectionner

    NextEvent:
    WndEvent =WaitWindowEvent()
      
    Select WndEvent
    Case #PB_Event_Repaint        
      Goto NextEvent ; On attend que la fenetre soit rafraichie
    EndSelect

c'est pas plus court ça ? 8O
(pas testé !! )

Code : Tout sélectionner

While WaitWindowEvent()<>#PB_Event_Repaint 
Wend

Publié : dim. 28/mai/2006 10:18
par Dräc
L’exemple donne l’idée trouvée, après c’est une question de codage.
Pour ma part, je traite dans mon code l’ensemble des events avec Select : EndSelect.
J’ai simplement élagué pour l’exemple… mais ton exemple, Dobro, est plus clair en effet !

Publié : dim. 28/mai/2006 12:40
par Backup
Dräc a écrit :L’exemple donne l’idée trouvée, après c’est une question de codage.
Pour ma part, je traite dans mon code l’ensemble des events avec Select : EndSelect.
J’ai simplement élagué pour l’exemple… mais ton exemple, Dobro, est plus clair en effet !
j'me disais bien aussi :lol: