Precisione vs. Precisione
Quello che vorrei sapere è se dovrei usare System.currentTimeMillis () o System.nanoTime () quando aggiorno le posizioni dei miei oggetti nel mio gioco? Il loro cambio di movimento è direttamente proporzionale al tempo trascorso dall'ultima chiamata e voglio essere il più preciso possibile.
Ho letto che ci sono alcuni seri problemi di risoluzione temporale tra diversi sistemi operativi (vale a dire che Mac / Linux hanno una risoluzione di quasi 1 ms mentre Windows ha una risoluzione di 50ms ??). Sto eseguendo principalmente le mie app su Windows e la risoluzione di 50ms sembra piuttosto imprecisa.
Ci sono opzioni migliori rispetto alle due che ho elencato?
Qualche suggerimento / commento?
System.currentTimeMillis()
: pzemtsov.github.io/2017/07/23/the-slow-currenttimemillis.html
nanoTime
è in genere significativamente più accurato di currentTimeMillis ma è anche una chiamata relativamente costosa.currentTimeMillis()
funziona in pochi (5-6) orologi cpu, nanoTime dipende dall'architettura sottostante e può essere 100+ orologi cpu.