Directx pb de timer

niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010 - 27 oct. 2006 à 09:39
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010 - 30 oct. 2006 à 10:04
Salut a tous.
Ceci est il normal:

j'ai cree un timer (500msec)et une fonction "MainTimer();" qui affiche le rendu.
Quand je la met dans la winmain ca va.
    if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
                {
                    TranslateMessage( &msg );


                    DispatchMessage( &msg );
                }
MainTimer();
   }

Mais quand je la met dans mon timer l'utilisation de l'uc est a 100% et mon ventillo tourne tres vite.

4 réponses

SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
27 oct. 2006 à 16:09
Tout depend de ton timer ?
Tu peux pas donner plus d'infos ?
Mais ca peut etre normal directX quand tu ne te limite pas par exemple a 50 image/secondes il peut prendre 100/100 de l'uc (n'importe quelle application d'ailleurs)
0
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
28 oct. 2006 à 14:10
0.5sec par affichage pour les tests donc 2images seconde!.

alors que dans PeekMessage,(qui actualise 10fois plus vite) j'ai pas ce probleme,mon ventillo ne fait pas de bruit et l'uc est a 30%.
des que je colle la fonction MainTimer() dans ma "case WM_TIMER:" mon ventillo tourne vite et l'uc a 100%

pour le timer c'est une declaration classique.
const int ID_TIMER = 1;
SetTimer(hwnd,ID_TIMER,500,(TIMERPROC)NULL);
0
mezaya Messages postés 202 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 6 mars 2010
28 oct. 2006 à 19:00
PeekMessage n'est pas bloquant, donc si il n'y a aucune fonctions d'attente dans ta boucle ( ex : sleep() ) le CPU tournera a 100%.

utilise la fonction GetMessage qui a pour avantage d'attendre les messages windows et ainsi libérer ton CPU.


Voili,Voilou [;)]
0
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
30 oct. 2006 à 10:04
Oui mais si j'utilise un pc plus ou moins rapide, la vitesse d'affichage changera non?
tandis qu'avec un timer elle reste la meme.
0
Rejoignez-nous