Предоставляет ли JavaScript таймер высокого разрешения?

Предоставляет ли JavaScript таймер высокого разрешения?

Я написал несколько игровых движков с нуля, некоторые на C, некоторые на Java, а некоторые на Вспышка. Когда дело касается анимации и интерактивной графики, я всегда следую одной и той же базовой модели. Создайте базовый класс / структуру со следующим дизайном:

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);
    }
}

Время так важно для сглаживания анимации и расчетов состояния игры. В собственном коде Windows я использую QueryPerformanceCounter () и QueryPerformanceFrequency () для выполнения роли queryTime () в каждом игровом цикле и передачи времени на обновление /оказывать. В Java я использую System.nanoTime () .

Что эквивалентно в JavaScript? То есть некоторая функция вроде queryTime () , которая возвращает значение времени с высокой степенью точности (субмиллисекунды). Из того, что я слышал, лучшая точность, которую вы можете получить в JavaScript, составляет около 15 мс ... что ужасно для анимации.

40
задан LJᛃ 13 August 2015 в 14:44
поделиться