Bonjour à tous,
Je suis confronté au traditionnel problème de l'utilisation CPU. Lorsque j'utillise DirectX pour programmer (notamment des intergaces graphiques), je peux synchroniser ma boucle principale sur l'affichage avec D3DPRESENTINTERVAL. J'utilise actuellement OpenGL, et là, la synchronisation n'arrête pas la boucle (j'ai l'impression qu'elle limite l'affichage quand même).
J'ai donc décidé de mettre un sleep(1) si mon programme était assez rapide. Parfait. Je lance le gestionnaire des taches windows, et là, je consomme encore presque 80% du cpu (d'un de mes 2 cpu en tout cas) ! Je décide donc de lancer un profiler : LTProf. Je relance mon programme, et là, j'analyse les résultats : 95% du temps est passé dans la fonction sleep(1), sauf que ma consommation cpu n'est pourtant pas réduite de 95% !! Comment expliquer ça ?? C'est un grand mystère pour moi...
Merci,
Thomas
Partager