Get to know MDN better
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The PerformanceScriptTiming interface is specified in the Long Animation Frames API and provides metrics on individual scripts that contribute to long animation frames (LoAFs).
Long animation frames (LoAFs) are rendering updates that are delayed beyond 50ms. LoAFs can result in slow user interface (UI) updates, making controls appear unresponsive and causing janky (non-smooth) animated effects and scrolling. This often leads to user frustration.
The PerformanceScriptTiming interface (instances of which are accessed via the PerformanceLongAnimationFrameTiming.scripts property) provides the following granular set of information on individual scripts that contribute to LoAFs, allowing developers to narrow down their root causes:
PerformanceScriptTiming inherits from PerformanceEntry.
PerformanceEntry PerformanceScriptTimingThis interface extends the following PerformanceEntry properties for long animation frame performance entries:
PerformanceEntry.duration Read onlyReturns a DOMHighResTimeStamp representing the elapsed time in milliseconds between the start and end of the script's execution.
PerformanceEntry.entryType Read onlyReturns the entry type, which is always "script".
PerformanceEntry.name Read onlyReturns the entry name, which is always "script".
PerformanceEntry.startTime Read onlyReturns a DOMHighResTimeStamp representing the time when the script execution started, in milliseconds.
This interface also supports the following properties:
PerformanceScriptTiming.executionStart Read onlyReturns a DOMHighResTimeStamp indicating the time when the script compilation finished and execution started.
PerformanceScriptTiming.forcedStyleAndLayoutDuration Read onlyReturns a DOMHighResTimeStamp indicating the total time spent, in milliseconds, by the script processing forced layout/style. See Avoid layout thrashing to understand what causes this.
PerformanceScriptTiming.invoker Read onlyReturns a string value indicating the identity of the feature that, when invoked, ran the script.
PerformanceScriptTiming.invokerType Read onlyReturns a string value indicating the type of feature that, when invoked, ran the script.
PerformanceScriptTiming.pauseDuration Read onlyReturns a DOMHighResTimeStamp indicating the total time, in milliseconds, spent by the script on "pausing" synchronous operations (for example, Window.alert() calls or synchronous XMLHttpRequests).
PerformanceScriptTiming.sourceCharPosition Read onlyReturns a number representing the script character position of the script feature that contributed to the LoAF.
PerformanceScriptTiming.sourceFunctionName Read onlyReturns a string representing the name of the function that contributed to the LoAF.
PerformanceScriptTiming.sourceURL Read onlyReturns a string representing the URL of the script.
PerformanceScriptTiming.window Read onlyReturns a reference to a Window object representing the window of the container (i.e., either the top-level document or an <iframe>) in which the LoAF-causing script was executed.
PerformanceScriptTiming.windowAttribution Read onlyReturns an enumerated value describing the relationship of the container (i.e., either the top-level document or an <iframe>) in which the LoAF-causing script was executed, relative to the window running the current document.
Returns a JSON representation of the PerformanceScriptTiming object.
See Long animation frame timing for examples related to the Long Animation Frames API.
| Long Animation Frames API # sec-PerformanceScriptTiming |
Enable JavaScript to view this browser compatibility table.
This page was last modified on Apr 3, 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.