#0 

07-07-2010 20:07:15

[Kenny]
Petit nouveau
Date d'inscription: 07-07-2010
Messages: 3

Salut.
Je suis actuellement en train de coder un jeu avec une version de Irrlicht pour la plateforme PSP. (LTE engine)
Mais cette console n'a pas toutes les performances nécessaires pour faire tourner un jeu complet à 60 FPS, si il y a trop d'objets affichés.
J'ai overclocké le processeur mais c'est pas assez, ça rame quand même.

Questions : est-ce faire node = driver->addOctTree...etc règlerait le problème ? Comment limiter les framerates à 30 FPS ? (j'accélère l'animation)

J'ai essayé de limiter avec la SDL, mais par exemple en incluant SDL_framerate, le compilateur reconnait pas les fonctions... pourtant j'ai inclus, mais le link makefile marche pas... bref, je cherche le moyen de limiter le nombre de fps, histoire de pas ralentir le déplacement de la caméra.

Cordialement,
Kenny

Hors ligne


#1 

07-07-2010 23:02:02

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

peut-être en endormissent un peut ton programme avec ça
http://irrlicht-fr.org/lire_tuto.php?id=1299
il y a un truc qui te permet de réguler la vitesse du framerate, et qui est assez simple a utiliser


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


#2 

08-07-2010 00:08:02

[Kenny]
Petit nouveau
Date d'inscription: 07-07-2010
Messages: 3

Le truc c'est que en fait comme c'est une caméra FPS, elle bouge "toute seule"
Alors moi tout mon programme (boucle de rendu) peut bouger indépendamment de la caméra, donc y'aura pas d'impac direct, car aucune action n'attend des ordres pour le ralentissement dans ma boucle. En gros je veux dire que je peux pas modifier le framerate complet...

Au fait la LTE possède un moyen de limiter les FPS à 60. Je vais chercher comment modifier ça...

Sinon pour les octtree ?

Hors ligne


#3 

09-07-2010 22:48:11

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

il y aurait peut-être un truc a essayer qui devrais marcher, soit en utilisant le lien que je t'ai mis un peut plus haut pour utiliser la fonction qui permet de gérer les evenement à un intervalle temps voulus.  et toutes les 33ms (pour environ 30fps) tu fait ton :

Code c++ :


driver->beginScene(true, true, video::SColor(0,255,255,255));
sceneMgr->drawAll ();
guienv->drawAll();
driver->endScene ();



Sinon peut être une deuxième solution:
En utilisant un "timer" de la SDL pour appelé une fonction callback qui contient le code ci-dessus. Je pense que ça fonctionnerais même mieux (du faite que d'après ce que j'ai pus lire dans le code source, les "timers" de la SDL utiliserais un autre thread, mais peut-être que je me plante)
Un mec explique comment ça utiliser les "timers" super bien ici:
http://www.siteduzero.com/tutoriel-3-14 … #ss_part_2

Dernière modification par nabouill (09-07-2010 22:50:15)


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


#4 

09-07-2010 23:04:42

[Kenny]
Petit nouveau
Date d'inscription: 07-07-2010
Messages: 3

C'est bon j'ai résolu le problème. En fait le doit tourner à 30 FPS.
Donc je fais un truc à la fin de chaque boucle, je calcule le temps que l'éxécution de la boucle a duré, et je fais une pause de 33ms - temps, donc ça fait une régulation du framerate dynamique.

Voili voulu voila. Résolu.

Par contre autre question : possible d'afficher une image de chargement ? Parce que si je fais un driver->endScene avant la boucle il freeze...

Hors ligne


#5 

10-07-2010 11:45:40

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

si tu fait un :

Code c++ :


driver->beginScene(true, true, video::SColor(0,255,255,255));
sceneMgr->drawAll ();
driver->endScene ();


avant la boucle, ça marche!


mes sites: www.manga-vf.fr et www.series-vf.fr

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1426 sujets
11116 messages
Dernier membre inscrit: Bidule
13 invités en ligne
Aucun membre connecté
RSS Feed