1

hello smile

vous faites comment pour afficher le FPS d'un jeu?
g po trouvé de tite fonction toute prete, et je suposse qu'il faut faire des calcul bien compliqué grin
mon site sur GP32news

le site de la DONUT TEAM

Le forum Jeux videos

2

Un jour j'ai essayé et ça ma donné ça (je te le fais de mémoire parce que depuis j'ai éliminé le code):

// boucle principale du programme
while (TRUE)
{
nTick = GpTickCountGet();

.
.
// code à exécuter à chaque boucle
.
.

if (GpTickCountGet() - nTick > 0)
nFPS = (1000 * vitesseProcesseur / 40) / (GpTickCountGet() - nTick);
}


C'est de l'aproximatif à cause des arrondissements, mais c'est pas important ici.
Le if (), c'est parce que des fois, sous l'ému, ça arrive que le résultat donne 0.
Bon, c'est ma solution, mais de là à savoir si c'est la bonne, faut voir avec les grands spécialistes des émus.

3

cool merci, v essayer ca smile
les autres propositions sont les bienvenues grin
mon site sur GP32news

le site de la DONUT TEAM

Le forum Jeux videos

4

void affiche_fps(void)
{
static long time=0 ;
static short fps=0,fps_count=0 ;
char buffer[20] ;
long tick = GpTickCountGet() ;
last_time = tick ;
fps++ ;
if(tick > (time + 1000)) { time=tick ; fps_count=fps; fps=0 ; }
sprintf(buffer,"%i|%i|%i",fps_count) ;
GpTextOut(NULL, &gpDraw[nflip],10,10,buffer,0xB3);
}

voila une belle petite fonction smile
avatar
pourquoi la mort ? parce qu'elle nous est si douce, au contraire de la vie :)

5

-

6

voila un code beaucoups plus simple qui fonctionne parfaitement.

int totalfps=0,fps=0;

void test_fps( void )
{
totalfps=fps;
fps=0;
}

// Initialise le timer 0 au debut
GpTimerOptSet(0,1,0,test_fps);
GpTimerSet(0);
//

// tous les fin de frame
fps++;


le principe c'est qu'il appelle tous les une seconde la routine test_fps et le résultat du nombre max se trouve dans la variable totalfps et le frame en cours dans fps

7

oki merci smile
mon site sur GP32news

le site de la DONUT TEAM

Le forum Jeux videos