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