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é
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.