Historique des modifications - Message

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

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
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