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

Auteur Sujet: [SFML 2.0] Chutes de framerate  (Lu 2946 fois)

0 Membres et 1 Invité sur ce sujet

actuenligne

  • Full Member
  • ***
  • Messages: 129
    • Voir le profil
[SFML 2.0] Chutes de framerate
« le: Août 17, 2012, 08:23:52 am »
Salut à tous !

Je travaille avec SFML 2.0 RC, sous windows. J'ai observé des ralentissements importants dans mon projet, et ce même avec un code très réduit.

J'appelle 3 méthodes en boucle depuis le main :

- Get_event() :
    m_mouse_pos = sf::Mouse::getPosition(m_app);

    sf::Event event;
    while(m_app.pollEvent(event))
    {
        if(event.type == sf::Event::Closed)
            m_app.close();
    }

- Update() :
    int frame_duration = 1.f /m_clock.restart().asSeconds();
    m_FPS.setString(Bibliotheque::vers_string(frame_duration));

- et Draw() :
    m_app.clear();
    m_app.draw(m_FPS);
    m_app.display();

J'ai fait avec l'objet "m_app" un .setFrameLimit(30)". Je n'utilise aucun thread, et pourtant j'observe de drôle de résultats pour au niveau des FPS affichées (ça va de 5 à plus de 100, et parfois ça se stabilise pendant quelque temps vers 30.

Et ce qu'une partie du code est mauvaise ? Qu'est ce qui peut clocher ?
Je vous remercie d'avance pour toute aide  :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0] Chutes de framerate
« Réponse #1 le: Août 17, 2012, 08:26:33 am »
Salut

Quel OS ? Quelle carte graphique ? Est-ce que tes drivers graphiques sont à jour ?

Tu devrais déjà essayer de mesurer le framerate avec un logiciel dédié, du genre FRAPS.

Ensuite, il faudrait rassembler tout ce code dans un gros main() et nous le montrer dans sa totalité.
Laurent Gomila - SFML developer

actuenligne

  • Full Member
  • ***
  • Messages: 129
    • Voir le profil
Re : [SFML 2.0] Chutes de framerate
« Réponse #2 le: Août 17, 2012, 08:37:14 am »
Salut Laurent,

Je suis sous Windows 7, avec Nvidia.
J'ai essayé avec Fraps, il m'indique la même chose.

Cependant j'ai découvert par hasard quelque chose d’intéressant : quand je drag&drop la fenêtre de mon appli et que je la relâche, son framerate se fixe tout de suite à 30 et se maintient...  ???

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0] Chutes de framerate
« Réponse #3 le: Août 17, 2012, 08:51:53 am »
Et si tu actives la synchronisation verticale (setVerticalSyncEnabled) au lieu de fixer le framerate, ça donne quoi ?

Est-ce que le même phénomène se produit sur les exemples précompilés ? Si oui, sur tous ?
Laurent Gomila - SFML developer

actuenligne

  • Full Member
  • ***
  • Messages: 129
    • Voir le profil
Re : [SFML 2.0] Chutes de framerate
« Réponse #4 le: Août 17, 2012, 08:54:22 am »
"Et si tu actives la synchronisation verticale (setVerticalSyncEnabled) au lieu de fixer le framerate, ça donne quoi ?"
-> Ca marche très bien, l'appli se bloque à 60 FPS direct.

J'essaie les exemples pré-compilés !

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [SFML 2.0] Chutes de framerate
« Réponse #5 le: Août 17, 2012, 09:03:26 am »
Et si tu n'actives ni la limite de framerate ni la synchro verticale, ton framerate raconte quoi ?
Laurent Gomila - SFML developer

actuenligne

  • Full Member
  • ***
  • Messages: 129
    • Voir le profil
Re : [SFML 2.0] Chutes de framerate
« Réponse #6 le: Août 17, 2012, 09:09:38 am »
Ca varie énormément : au plus bas un nombre à 2 chiffres et au plus haut, 4 chiffres   
(ça allait vachement vite, mais j'ai cru voir un 5000 affiché  :o )


EDIT : avec Fraps, le framerate reste constant à 200 FPS.
« Modifié: Août 17, 2012, 09:12:08 am par actuenligne »