PerformanceLongAnimationFrameTiming
Ограниченное использование
Эта функция не является базовой, так как она не работает во всех широко используемых браузерах.
Экспериментально: Это экспериментальная технология .
Внимательно проверьте таблицу совместимости браузеров .
Интерфейс PerformanceLongAnimationFrameTiming определен в API длинных анимационных кадров и предоставляет метрики длинных анимационных кадров (LoAF), которые занимают рендеринг и блокируют выполнение других задач.
Описание
Длинные анимационные кадры (LoAF) — это обновления рендеринга, которые отстают более чем на 50 мс. LoAF могут привести к медленным обновлениям пользовательского интерфейса (UI), в результате чего элементы управления будут казаться неотзывчивыми, вызывая неровные (негладкие) эффекты анимации и прокрутки. Это часто приводит к раздражению пользователя.
Интерфейс PerformanceLongAnimationFrameTiming предоставляет следующий подробный набор информации о LoAF, что позволяет разработчикам сузить причины проблем:
- Подробный набор временных меток для каждого LoAF.
- Подробная информация о каждом скрипте, который способствовал созданию LoAF, через свойство
PerformanceLongAnimationFrameTiming.scripts. Оно возвращает массив объектовPerformanceScriptTiming, по одному для каждого скрипта.
PerformanceLongAnimationFrameTiming наследуется от PerformanceEntry.
Свойства экземпляра
Этот интерфейс расширяет следующие свойства PerformanceEntry для записей производительности длинных анимационных кадров:
-
PerformanceEntry.durationТолько для чтения Экспериментально -
Возвращает
DOMHighResTimeStamp, представляющий время в миллисекундах, затраченное на обработку LoAF целиком. -
PerformanceEntry.entryTypeТолько для чтения Экспериментально -
Возвращает тип записи, который всегда
"long-animation-frame". -
PerformanceEntry.nameТолько для чтения Экспериментально -
Возвращает имя записи, которое всегда
"long-animation-frame". -
PerformanceEntry.startTimeТолько для чтения Экспериментально -
Возвращает
DOMHighResTimeStamp, представляющий время начала анимационного кадра.
Этот интерфейс также поддерживает следующие свойства:
-
PerformanceLongAnimationFrameTiming.blockingDurationТолько для чтения Экспериментально -
Возвращает
DOMHighResTimeStamp, указывающий общее время в миллисекундах, в течение которого основной поток был заблокирован от реагирования на задачи высокого приоритета, такие как ввод пользователя. Это рассчитывается путем взятия всех длинных задач внутри LoAF, которые имеютdurationболее чем50ms, вычитания50msиз каждого, добавления времени рендеринга к времени самой длительной задачи и суммирования результатов. -
PerformanceLongAnimationFrameTiming.firstUIEventTimestampТолько для чтения Экспериментально -
Возвращает
DOMHighResTimeStamp, указывающий время первого события UI, например, события мыши или клавиатуры, которое было помещено в очередь во время текущего кадра анимации. -
PerformanceLongAnimationFrameTiming.renderStartТолько для чтения Экспериментально -
Возвращает
DOMHighResTimeStamp, указывающий начальное время цикла рендеринга, который включает вызовыWindow.requestAnimationFrame(), расчет стилей и макета, вызовыResizeObserverи вызовыIntersectionObserver. -
PerformanceLongAnimationFrameTiming.scriptsТолько для чтения Экспериментально -
Возвращает массив экземпляров
PerformanceScriptTiming. -
PerformanceLongAnimationFrameTiming.styleAndLayoutStartТолько для чтения Экспериментально -
Возвращает
DOMHighResTimeStamp, указывающий начало периода времени, затраченного на вычисления стилей и макета для текущего кадра анимации.
Методы экземпляра
-
PerformanceLongAnimationFrameTiming.toJSON()Экспериментально -
Возвращает JSON-представление объекта
PerformanceLongAnimationFrameTiming.
Примеры
См. Время длинных анимационных кадров для примеров, связанных с API длинных анимационных кадров.
Спецификации
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
PerformanceLongAnimationFrameTiming |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
blockingDuration |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
firstUIEventTimestamp |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
renderStart |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
scripts |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
styleAndLayoutStart |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
toJSON |
123 | 123 | Нет | 109 | Нет | 123 | Нет | 82 | Нет | 27.0 | 123 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceLongAnimationFrameTiming