Forum de la communauté SFML
Aide => Général => Discussion démarrée par: cChaD le Août 12, 2013, 02:14:57 pm
-
Bonjour,
j'ai remarquer que le nombre de FPS dans mes programmes en SFML passés parfois de 32 à 64 en
relançant l'application plusieurs fois et en enlevant/remettant le
SetFramerateLimit(60)
Es-ce un bug ?
Merci d'avance.
-
http://en.sfml-dev.org/forums/index.php?topic=10231.msg70560#msg70560
-
Merci, apparemment tu ne sais pas d'où ça viens ?
peut tu me dire comment régler ça je n'ai pas très bien compris toutes les réponses apporter.
-
Merci, apparemment tu ne sais pas d'où ça viens ?
Arg... Le gros post que je t'ai mis en lien explique avec beaucoup de détails d'où ça vient, donc si tu n'as pas compris tant pis parce que je ne vais pas te traduire ce gros pâté ;D
En très résumé, c'est lié à la résolution de l'ordonnanceur de l'OS, et la solution ne peut pas être appliquée directement dans ton code puisque tu utilises sf::sleep indirectement (via setFramerateLimit).
Ceci-dit, c'est une erreur de vouloir faire du timing précis avec sf::sleep (donc avec setFramerateLimit) ; change de stratégie si tu veux de la précision.
-
J'ai essayé avec la syncro verticale et à vrai dire, c'est comme si mon programme tourner à 2000 fps car j'utilise 26% du cpu...
-
c'est comme si mon programme tourner à 2000 fps car j'utilise 26% du cpu...
Je comprends pas ce que tu veux dire là.
-
Avec la syncro verticale d'activer, je suis bien à 60 FPS mais mon programme consomme 26% du cpu.
-
Et donc ? C'est trop ?
Jouons aux devinettes ;) : tu as un processeur avec 4 coeurs, et tu as une carte graphique nVidia avec l'option "threaded optimizations" activée ?
-
En effet, mais même en désactivant cette option dans les paramètres Nvidia j'ai toujours le même problème...
-
Bizarre, normalement ça règle toujours le problème. Et puis drôle de coïncidence que tu sois exactement dans le cas de figure qui correspond à ce problème, mais que ce soit autre chose. As-tu essayé de redémarrer un coup pour être sûr ?
-
Même en redémarrent.
-
Tu fais bien tes tests avec un code minimal, pas un gros mammouth qui consomme plein de CPU ?
-
Oui c'est ça le pire ^^
-
Et est-ce que tu peux tester la synchro verticale avec un programme OpenGL qui n'utilise pas SFML ?
-
As-tu un code minimal avec la V-Sync d'activer car je ne sais pas l'activé sous opengl.
Merci d'avance.
-
Je pensais plutôt à un jeu ou une démo (SDL, Allegro) qui existe déjà. Ecrire un code OpenGL minimal c'est assez laborieux.
-
J'ai essayé avec un jeux de puissance 4, je ne sais pa si la v-sync est activé mais j'utilise 0% du cpu.
-
Et tu es sûr qu'il utilise OpenGL ?
-
SDL = OpenGL non ? ^^
-
Non, pas forcément.
-
Malheureusement j'ai rien trouvé sur le net.