Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
SDL et FPS
Envoyé par: tazkeum

Bonjour,

Voici un petit code qui ne fait rien d'autre qu'afficher un écran noir.
Le calcul des FPS donne 50 images par secondes. C'est lent pour un P4 et ATI 7500.
Qu'en pensez vous ? code pourri ? calcul fps foireux ?

Si quelqu'un pouvait le compiler et me dire les résultats qu'il obtient, j'aurai une base de comparaison.

Merci
///////////////// DEBUT DU CODE

#define LARG 1024
#define HAUT 768
#define DEPTH 16


#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <SDL/SDL.h>


void Quitter();
void Traitment_evenement();
void BouclePrincipale();

SDL_Surface *Screen;

float fps=0;
int hh=0;
int tt=0;
int temps1, temps2;

SDL_Event event;

int t0,t1,t2;
int quit=0;
int i=0;

int main()
{
atexit(Quitter);
if( SDL_Init( SDL_INIT_EVENTTHREAD|SDL_INIT_VIDEO|SDL_INIT_TIMER | SDL_INIT_AUDIO ) == -1 ) { fprintf(stderr, "Impossible d'initialiser SDL : %s\n", SDL_GetError()); exit (0); }
Screen = SDL_SetVideoMode (LARG, HAUT, DEPTH,SDL_HWSURFACE | SDL_HWACCEL | SDL_HWPALETTE|SDL_FULLSCREEN|SDL_DOUBLEBUF|SDL_RLEACCEL|SDL_SRCALPHA);
if (!Screen) { fprintf(stderr,"Impossible d'initialiser l'Ecran : %s\n ",SDL_GetError()); exit (0); }

BouclePrincipale();

}

void Quitter()
{
SDL_Quit();
}


void BouclePrincipale()
{
while( quit == 0)
{
Traitment_evenement();
SDL_Flip(Screen);
tt++;
temps2=SDL_GetTicks();
if(((temps2-temps1)/1000)>=1) { fps=tt; printf("%d\n",int(fps)); tt=0; temps1=SDL_GetTicks();}
}
}


void Traitment_evenement()
{
while( SDL_PollEvent( &event ) )
{
switch (event.type)
{

case SDL_MOUSEBUTTONDOWN:
quit=1;
break;
case SDL_QUIT:
exit(9);
break;
}
}

}

///////////////// FIN DU CODE

Poste le Monday 30 January 2006 09:35:42
Répondre     Citer    
Re: SDL et FPS
Envoyé par: nicola

Essaie glxinfo, et s’il plante en se plaignant de l’absence d’accélération, c’est parce que tu n’as pas installé le pilote propriétaire.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 30 January 2006 12:16:20
Répondre     Citer    
Re: SDL et FPS
Envoyé par: tazkeum

Effective Pas de DRI.

Je vais voir ça.

Pour info, ce code donne quoi quand le DRI est activée ?

Merci

Poste le Monday 30 January 2006 12:29:42
Répondre     Citer    
Re: SDL et FPS
Envoyé par: nicola

Une carte ATI demande le DRI.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 30 January 2006 16:09:30
Répondre     Citer    
Re: SDL et FPS
Envoyé par: tazkeum

Merci beaucoup nicola,

Je ne pensais pas que la DRI était idispensable.
Mais j'ai recomplié le boyau, je peux maintenant m'éclater avec tuxkart ! ;-)

Cela dit, mon calcul e fps t'inspire confiance ? J'ai pondu ça rapidement...

Poste le Monday 30 January 2006 16:17:34
Répondre     Citer    
Re: SDL et FPS
Envoyé par: nicola

Aucune idée, glxgears le fera pour toi, mais ce n’est pas fiable, c’est un peu le bogomips des FPS.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 30 January 2006 19:27:03
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
SDL et FPS
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons