Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Problème de framerate (résolu)  (Read 3528 times)

0 Members and 1 Guest are viewing this topic.

shingo

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Problème de framerate (résolu)
« on: May 21, 2013, 02:57:40 pm »
Salut, je viens demander votre aide car je penche sur un problème depuis deux jours et je ne comprend pas pourquoi le framerate n'est jamais fixe et surtout ne correspond pas à ce que j'indique dans mon code

if (videomode > VideoMode::getFullscreenModes()[0])
        ErrorManager::Instance()->save(0, "");
    else if (!Profil::Instance()->fullscreen)
        window.create(videomode, title, sf::Style::Close);
    else window.create(videomode, title, sf::Style::Fullscreen);

    window.setVerticalSyncEnabled(false);
    window.setMouseCursorVisible(false);
    window.setFramerateLimit(60);

j'ai regardé si je n'avais une boucle qui proposait problème mais après avoir analysé mon code, il n'y a rien à signalé. J'ai supprimé setFramerateLimit de mon code et je suis passé à plus de 300 fps. J'ai donc essayé plusieurs tests en fixant le framerate à 75 / 85 / 120 etc. Et je tombe jamais sur la bonne valeur en pratique. Par exemple, si je met 75 ou 60, j'obtiens 50 fps ou si je met 85 je passe à ~ 98 fps.

Je vais encore faire des tests et tenter de recompiler SFML2 en espérant que ça règle mon problème.
« Last Edit: May 23, 2013, 08:04:32 am by shingo »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re : Problème de framerate
« Reply #1 on: May 21, 2013, 03:41:42 pm »
C'est pas forcément anormal, quand on endort un thread on ne sait pas précisément quand il va se réveiller. Si tu dis 2 ms, ça peut très bien être 5 ms. Du coup il ne faut pas utiliser cette fonction en espérant qu'elle va donner un timing ultra-précis à ton application.
Laurent Gomila - SFML developer

shingo

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re : Re : Problème de framerate
« Reply #2 on: May 22, 2013, 01:32:29 pm »
C'est pas forcément anormal, quand on endort un thread on ne sait pas précisément quand il va se réveiller. Si tu dis 2 ms, ça peut très bien être 5 ms. Du coup il ne faut pas utiliser cette fonction en espérant qu'elle va donner un timing ultra-précis à ton application.

En effet, je viens de m'apercevoir que sous Linux en ajoutant un code me permettant de récupérer le nombre d'image par seconde, le résultat est précis... Je vais essayer sous Windows mais je me demande si le problème ne vient pas de Fraps que j'utilise habituellement pour contrôler la vitesse.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re : Problème de framerate
« Reply #3 on: May 22, 2013, 01:44:50 pm »
FRAPS fonctionne très bien, je l'utilise toujours pour ce genre de test.
Laurent Gomila - SFML developer

shingo

  • Jr. Member
  • **
  • Posts: 97
    • View Profile
Re : Problème de framerate
« Reply #4 on: May 23, 2013, 08:04:08 am »
En effet, sous Windows j'obtiens plus ou moins le même framerate qu'avec FRAPS.