Message #10170
Sujet: probleme d'exécution d'Irrlicht sous Linux (Ubuntu) et OPENGL
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Création du message | 14-08-2011 10:52:58 | thoced |
Bonjour à tous,
Récemment, je suis mis a installer la distribution Ubuntu (Linux) qui entre parenthèse est vraiment très bien mais je ne suis pas ici pour parler Linux mais d'un problème que j'ai rencontré et que j'ai résolu a ma façon. Néanmoins je préfère poster ce topic afin de vérifier si je ne me suis pas trompé. En compilant un programme Irrlicht très basique (Affichage d'une toute petite scene), je me rend compte que lors de l'exécution du programme en paramètrant la compilation en utilisant EDT_OPENGL, le nombre de FPS est tellement important que l'application rame. Je m'explique, la méthode driver->getFps() me donne des valeurs dépassant les 2500 FPS. Certe c'est bien beau tout cela sauf que cela freeze l'affichage. Je me suis donc dit que le serveur X de Linux était peut être trop sollicité pour pouvoir rafraichir l'affichage de l'application et donc donnait une impression de "freez" . J'ai eu bon vérifier si les librairies GLX (opengl) était bien installé ainsi que vérifier la version de mon driver NVIDIA mais rien n'y fait cela ne change pas. Pour corriger le probleme j'ai donc simplement utilisé la methode device->getTimer()->getTime() pour pouvoir limité l'appel au smgr->DrawAll(); pour ce faire j'ai donc indiqué if(lastTime + 10 < device->getTimer()->getTime() ) // OUI si un temps de 10 milliseconde se sont écoulé entre les deux tours de boucles { ...... smgr->drawAll(); ...... lastTime = device->getTimer()->getTime(); } en empêchant d’appeler la méthode drawAll a chaque tour de boucle, l'application plafonne le nombre de FPS a une petite centaine et l'application ne "freez" plus Ma question est donc la suivante : Sous Windows et les drivers DIRECTX, je n'avais pas ce problème. D'ailleurs même en utilisant OPENGL. La méthode que j'utilise est-elle bonne ? Avez vous rencontré ce même problème et si oui comment l'avez vous résolu ? Merci d'avance pour les réponses a+, thoced |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 152 invités en ligne membre en ligne: - RSS Feed |