N'JavaScript fournir une haute résolution de la minuterie?
J'ai écrit quelques moteurs de jeu à partir de zéro, certains en C, certains en Java, et certains en Flash. J'ai toujours suivre le même modèle de base quand il s'agit de animations et des graphiques interactifs. Créer une classe de base/la structure avec le dessin suivant:
void init() { /* Called once, preload essential resources here. */ }
void update(double time) { /* Updates game/animation state using high resolution time. */ }
void render(double time) { /* Updates screen graphics using high resolution time. */ }
void run()
{
double time;
init();
while (!done)
{
time = queryTime();
update(time);
render(time);
}
}
Le temps est si important pour des animations fluides et de l'état de jeu de calculs. En code natif Windows, j'utilise QueryPerformanceCounter()
et QueryPerformanceFrequency()
à jouer le rôle de queryTime()
dans chaque boucle de jeu et de passer le temps de mettre à jour/render. En Java, j'utilise System.nanoTime()
.
Ce qui est l'équivalent en JavaScript? Qui est, que certaines fonctions comme la queryTime()
qui retourne une valeur de temps avec un haut degré de précision (sous-ordre de la milliseconde). De ce que j'ai entendu la meilleure précision que vous pouvez obtenir en JavaScript est d'environ 15 ms ... ce qui est horrible pour l'animation.