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

Sujets variés concernant le développement en PureBasic
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

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

Message 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?
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message 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
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Mouai, tu pourrais surement encore gagner de la puissance du processeur en evitent le Goto non ? :?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Message 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 !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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:
Répondre