Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Control du framerate sous Windows  (Lu 2557 fois)

0 Membres et 1 Invité sur ce sujet

Spidyy

  • Sr. Member
  • ****
  • Messages: 493
    • Voir le profil
Control du framerate sous Windows
« le: Mars 15, 2013, 07:23:11 pm »
Salut Laurent,

J'ai en cours un projet de jeu sous Android, pour lequel je me suis basé sur la SFML pour une bonne part des choses. J'ai fais en sorte que mon projet puisse compiler aussi bien sous Android que sous Windows, en séparant les implémentation de mes classe de fenêtrage.

Je me lance dans un ptit projet plus modeste en utilisant directement SFML, et je me suis rappelé en le faisant qu'il faut soit même mettre en place un méchanisme pour controller le framerate de notre application.

Or, sur mon projet, le framerate est nativement limité... Je n'ai ajouté aucun mechanisme, j'ai seulement construit ma fenêtre et mon context openGL de manière la plus simple possible, et chaque appel à SwapBuffer prend juste le temps qu'il faut pour que le framerate soit stable à 60 fps.
J'ai utilisé une Clock pour m'en assurer, ça prend bien entre 13 et 15 ms pour swap les buffer, plus le temps utilisé par le reste de la boucle, ça tombe pil a 60fps.

Par defaut, je n'ai rien fais de notable pour activer la Vertical sync, et de mémoire la vertical sync ne marche qu'en plein écran, or je suis en fenêtré.

Je voulais savoir si tu avais fais quelque chose dans la SFML pour s'assurer que l'attente ne se fasse pas à l'appel de SwapBuffers, auquel cas je m'en irais changer ça pour mon petit projet, sinon j'en chercherais la cause. :p

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Control du framerate sous Windows
« Réponse #1 le: Mars 15, 2013, 08:32:03 pm »
La seule explication que je vois est que la synchro verticale soit forcée au niveau des options de ton pilote graphique. Et ça marche aussi en mode fenêtré .
Laurent Gomila - SFML developer