Таймер высокого разрешения был добавлен рабочей группой WebPerf, чтобы обеспечить более точные измерения на веб-платформе, чем те, которые мы имели с +new Date
и более новым Date.now()
.
Итак, для сравнения, вот какие значения вы получите обратно:
Date.now() // 1337376068250
performance.now() // 20303.427000007
Вы заметите, что два приведенных выше значения различаются на много порядков. performance.now()
— это измерение миллисекунд с плавающей запятой с момента начала загрузки конкретной страницы (точнее, метка времени performance.timing.[navigationStart](https://www.w3.org/TR/navigation-timing/#dom-performancetiming-navigationstart)
). Вы можете возразить, что это могло быть количество миллисекунд, прошедших с эпохи Unix , но веб-приложению редко требуется знать расстояние между настоящим моментом и 1970 годом. Это число остается относительно страницы, потому что вы будете сравнивать два или более измерения друг с другом.
Монотонное время
Еще одним дополнительным преимуществом является то, что вы можете рассчитывать на монотонность времени. Давайте позволим инженеру WebKit Тони Джентилкору объяснить это:
Варианты использования
Есть несколько ситуаций, когда вы можете использовать этот таймер с высоким разрешением вместо получения базовой отметки времени:
- бенчмаркинг
- код цикла запуска игры или анимации
- точный расчет частоты кадров
- указание действий или звука, которые должны происходить в определенных точках анимации или другой временной последовательности
Доступность
Таймер высокого разрешения в настоящее время доступен в Chrome (Stable) как window.performance.webkitNow()
, и это значение обычно равно новому значению аргумента, переданному в обратный вызов requestAnimationFrame . Довольно скоро WebKit откажется от своего префикса , и он станет доступен через performance.now()
. В частности, группа WebPerfWG, возглавляемая Джатиндером Манном из Microsoft, довольно быстро преуспела в удалении префиксов своих функций .
Таким образом, performance.now()
- это...
- двойной с микросекундами в дробном виде
- относительно
navigationStart
страницы, а не эпохи UNIX - не перекашивается при изменении системного времени
- доступен в стабильной версии Chrome, Firefox 15+ и IE10.
Таймер высокого разрешения был добавлен рабочей группой WebPerf, чтобы обеспечить более точные измерения на веб-платформе, чем те, которые мы имели с +new Date
и более новым Date.now()
.
Итак, для сравнения, вот какие значения вы получите обратно:
Date.now() // 1337376068250
performance.now() // 20303.427000007
Вы заметите, что два приведенных выше значения различаются на много порядков. performance.now()
— это измерение миллисекунд с плавающей запятой с момента начала загрузки конкретной страницы (точнее, метка времени performance.timing.[navigationStart](https://www.w3.org/TR/navigation-timing/#dom-performancetiming-navigationstart)
). Вы можете возразить, что это могло быть количество миллисекунд, прошедших с эпохи Unix , но веб-приложению редко требуется знать расстояние между настоящим моментом и 1970 годом. Это число остается относительно страницы, потому что вы будете сравнивать два или более измерения друг с другом.
Монотонное время
Еще одним дополнительным преимуществом является то, что вы можете рассчитывать на монотонность времени. Давайте позволим инженеру WebKit Тони Джентилкору объяснить это:
Варианты использования
Есть несколько ситуаций, когда вы можете использовать этот таймер с высоким разрешением вместо получения базовой отметки времени:
- бенчмаркинг
- код цикла запуска игры или анимации
- точный расчет частоты кадров
- указание действий или звука, которые должны происходить в определенных точках анимации или другой временной последовательности
Доступность
Таймер высокого разрешения в настоящее время доступен в Chrome (Stable) как window.performance.webkitNow()
, и это значение обычно равно новому значению аргумента, переданному в обратный вызов requestAnimationFrame . Довольно скоро WebKit откажется от своего префикса , и он станет доступен через performance.now()
. В частности, группа WebPerfWG, возглавляемая Джатиндером Манном из Microsoft, довольно быстро преуспела в удалении префиксов своих функций .
Таким образом, performance.now()
- это...
- двойной с микросекундами в дробном виде
- относительно
navigationStart
страницы, а не эпохи UNIX - не перекашивается при изменении системного времени
- доступен в стабильной версии Chrome, Firefox 15+ и IE10.
Таймер высокого разрешения был добавлен рабочей группой WebPerf, чтобы обеспечить более точные измерения на веб-платформе, чем те, которые мы имели с +new Date
и более новым Date.now()
.
Итак, для сравнения, вот какие значения вы получите обратно:
Date.now() // 1337376068250
performance.now() // 20303.427000007
Вы заметите, что два приведенных выше значения различаются на много порядков. performance.now()
— это измерение миллисекунд с плавающей запятой с момента начала загрузки конкретной страницы (точнее, метка времени performance.timing.[navigationStart](https://www.w3.org/TR/navigation-timing/#dom-performancetiming-navigationstart)
). Вы можете возразить, что это могло быть количество миллисекунд, прошедших с эпохи Unix , но веб-приложению редко требуется знать расстояние между настоящим моментом и 1970 годом. Это число остается относительно страницы, потому что вы будете сравнивать два или более измерения друг с другом.
Монотонное время
Еще одним дополнительным преимуществом является то, что вы можете рассчитывать на монотонность времени. Давайте позволим инженеру WebKit Тони Джентилкору объяснить это:
Варианты использования
Есть несколько ситуаций, когда вы можете использовать этот таймер с высоким разрешением вместо получения базовой отметки времени:
- бенчмаркинг
- код цикла запуска игры или анимации
- точный расчет частоты кадров
- указание действий или звука, которые должны происходить в определенных точках анимации или другой временной последовательности
Доступность
Таймер высокого разрешения в настоящее время доступен в Chrome (Stable) как window.performance.webkitNow()
, и это значение обычно равно новому значению аргумента, переданному в обратный вызов requestAnimationFrame . Довольно скоро WebKit откажется от своего префикса , и он станет доступен через performance.now()
. В частности, группа WebPerfWG, возглавляемая Джатиндером Манном из Microsoft, довольно быстро преуспела в удалении префиксов своих функций .
Таким образом, performance.now()
- это...
- двойной с микросекундами в дробном виде
- относительно
navigationStart
страницы, а не эпохи UNIX - не перекашивается при изменении системного времени
- доступен в стабильной версии Chrome, Firefox 15+ и IE10.
Таймер высокого разрешения был добавлен рабочей группой WebPerf, чтобы обеспечить более точные измерения на веб-платформе, чем те, которые мы имели с +new Date
и более новым Date.now()
.
Итак, для сравнения, вот какие значения вы получите обратно:
Date.now() // 1337376068250
performance.now() // 20303.427000007
Вы заметите, что два приведенных выше значения различаются на много порядков. performance.now()
— это измерение миллисекунд с плавающей запятой с момента начала загрузки конкретной страницы (точнее, метка времени performance.timing.[navigationStart](https://www.w3.org/TR/navigation-timing/#dom-performancetiming-navigationstart)
). Вы можете возразить, что это могло быть количество миллисекунд, прошедших с эпохи unix , но веб-приложению редко требуется знать расстояние между настоящим моментом и 1970 годом. Это число остается относительно страницы, потому что вы будете сравнивать два или более измерения друг с другом.
Монотонное время
Еще одним дополнительным преимуществом является то, что вы можете рассчитывать на монотонность времени. Давайте позволим инженеру WebKit Тони Джентилкору объяснить это:
Варианты использования
Есть несколько ситуаций, когда вы можете использовать этот таймер с высоким разрешением вместо получения базовой отметки времени:
- бенчмаркинг
- код цикла запуска игры или анимации
- точный расчет частоты кадров
- указание действий или звука, которые должны происходить в определенных точках анимации или другой временной последовательности
Доступность
Таймер высокого разрешения в настоящее время доступен в Chrome (Stable) как window.performance.webkitNow()
, и это значение обычно равно новому значению аргумента, переданному в обратный вызов requestAnimationFrame . Довольно скоро WebKit откажется от своего префикса , и он станет доступен через performance.now()
. В частности, группа WebPerfWG, возглавляемая Джатиндером Манном из Microsoft, довольно быстро преуспела в удалении префиксов своих функций .
Таким образом, performance.now()
- это...
- двойной с микросекундами в дробном виде
- относительно
navigationStart
страницы, а не эпохи UNIX - не перекашивается при изменении системного времени
- доступен в стабильной версии Chrome, Firefox 15+ и IE10.