IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Calcul du nombre d'images par seconde


Sujet :

SDL

  1. #1
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut Calcul du nombre d'images par seconde
    Bonsoir à tou(te)s !

    J'ai souhaité effectué le calcul de fps de mon application test. Pour cela, j'incrémente le nombre de frames (dessin d'écran) dans ma boucle.
    A chaque fois que le compteur de temps dépasse la seconde, j'affiche le nombre de frames, je le remets à 0 et je recommence.

    En gros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      //Drawing screen
      screen.Draw();
      f++;
      if ( game_clock>next_fps )
      {
       itoa (f, buffer, 10);
       SDL_WM_SetCaption (buffer, NULL );
       cout<<"FPS : "<<f<<" à "<<next_fps<<endl;
       f = 0;
       next_fps = game_clock + 1000;
      }
    Je me retrouve avec ca dans le fichier stdout.txt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    FPS : 1 à 0
    FPS : 872 à 1044
    FPS : 1095 à 2045
    FPS : 1031 à 3046
    FPS : 1112 à 4047
    FPS : 1051 à 5048
    FPS : 827 à 6049
    La première ligne ne vaut rien, c'est normal. Mais le reste me montre bien que toutes les 1000 millisecondes (toutes les secondes donc), j'ai entre 827 et 1112 boucles.

    Ca me parait beaucoup... Et c'est pour cela que je viens vous demander si cette méthode est valable ou si j'ai fait une erreur grossière (que je ne vois pas).

    Donc : me suis-je lamentablement planté ?
    Ou : ai-je un programme qui tourne super vite ?

    Merci !
    Mindiell
    "Souvent, femme barrit" - Elephant man

  2. #2
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    moi ca me semble relativement correct comme calcul (en tout cas, pas de grosse erreure bien visible ), et avoir plus de 1000 image par seconde est tout a fait possible avec la SDL (je suis monté a 1200 FPS en affichant un modèle de près de 3000 polygone sur une radeon9800, donc c'est faisable )
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Utilise FRAPS pour vérifier.
    Ou active la synchronisation verticale, et regarde si tu tournes entre 60 et 90.

  4. #4
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    fraps ?
    comment gérer la synchro verticale ?

    ok, ok ! Je vais chercher un peu !
    Mindiell
    "Souvent, femme barrit" - Elephant man

  5. #5
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    hum...
    FRAPS ne marche que pour openGL ? En totu cas, j'ai beau appuyer sur F12, il ne m'affiche rien...
    Ici (chez moi, pas au bureau), je ne suis plus qu'à 270 fps environ, donc c'est bien ca. Je vais voir si je peux l'accélerer ici, avec le nombre de bits par couleur. Mais bon, ca me va très bien comme fps pour le moment (un sprite qui se déplace seulement en même temps.).
    Mindiell
    "Souvent, femme barrit" - Elephant man

  6. #6
    Membre confirmé
    Avatar de Mindiell
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    735
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 735
    Points : 546
    Points
    546
    Par défaut
    Bon !
    En tout cas, ca marche nickel mon affichage de sprites. J'en avais un, mais j'ai rapidement testé avec plus



    Vous avez le nombre de fps en haut à gauche, pour 10, 100 et 500 sprites affichés, tournant à différentes vitesses et se déplaçant à différentes vitesses. Je suis bien content de moi, je vais pouvoir avancer sur mon projet !
    Mindiell
    "Souvent, femme barrit" - Elephant man

Discussions similaires

  1. Quel est le meilleur nombre d'images par seconde pour un jeu vidéo ?
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 105
    Dernier message: 18/12/2014, 11h00
  2. Calculer le nombre d'images par seconde
    Par Carton_en_Plastique dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 23/12/2012, 08h18
  3. [CS4] nombre image par seconde
    Par VLDG dans le forum Flash
    Réponses: 8
    Dernier message: 12/03/2010, 16h14
  4. Compter le nombre d'image par secondes (FPS)
    Par poukill dans le forum C++
    Réponses: 7
    Dernier message: 27/10/2008, 17h02
  5. Blocage à 60 images par seconde
    Par houssa dans le forum OpenGL
    Réponses: 5
    Dernier message: 24/06/2003, 08h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo