Précision contre. Précision
Ce que je voudrais savoir, c'est si je dois utiliser System.currentTimeMillis () ou System.nanoTime () lors de la mise à jour des positions de mon objet dans mon jeu? Leur changement de mouvement est directement proportionnel au temps écoulé depuis le dernier appel et je veux être aussi précis que possible.
J'ai lu qu'il existe de sérieux problèmes de résolution temporelle entre différents systèmes d'exploitation (à savoir que Mac / Linux ont une résolution de près de 1 ms tandis que Windows a une résolution de 50 ms ??). J'exécute principalement mes applications sur Windows et la résolution de 50 ms semble assez inexacte.
Y a-t-il de meilleures options que les deux que j'ai énumérées?
Des suggestions / commentaires?
System.currentTimeMillis()
: pzemtsov.github.io/2017/07/23/the-slow-currenttimemillis.html
nanoTime
est généralement plus précis que currentTimeMillis mais c'est aussi un appel relativement cher.currentTimeMillis()
fonctionne sur quelques (5-6) horloges cpu, nanoTime dépend de l'architecture sous-jacente et peut être plus de 100 horloges cpu.