[Webkit-unassigned] [Bug 211624] New: requestAnimationFrame slow performance vs. setInterval / setTimeout
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri May 8 08:02:49 PDT 2020
https://bugs.webkit.org/show_bug.cgi?id=211624
Bug ID: 211624
Summary: requestAnimationFrame slow performance vs. setInterval
/ setTimeout
Product: WebKit
Version: Safari 13
Hardware: All
OS: Unspecified
Status: NEW
Severity: Major
Priority: P2
Component: New Bugs
Assignee: webkit-unassigned at lists.webkit.org
Reporter: dustin.kerstein at gmail.com
I'm sure this can be replicated in other ways but here is an example using Three.js and video seeking using a file with 100% I-Frames - https://jsfiddle.net/wxe5pk8c - You can switch between requestAnimationFrame, Three.js's setAnimationLoop (which uses rAF internally), and setInterval by setting animationStrategy to 1,2,3, respectively.
*Note* that as this JSFiddle uses iFrames, you'll need to click into the result iFrame to get Safari to avoid using its low power mode (meant for ads) which limits rendering to 30fps.
Below are average framerates from various devices I have tested:
1st Gen iPad Pro
requestAnimationFrame: 55fps
setAnimationLoop: 55fps
setInterval: 60fps
2011 Macbook Pro
requestAnimationFrame: 3fps
setAnimationLoop: 3fps
setInterval: 60fps
2019 Macbook Pro
requestAnimationFrame: 60fps
setAnimationLoop: 60fps
setInterval: 60fps
Also, note that this JSFiddle example is susceptible to this issue - https://bugs.webkit.org/show_bug.cgi?id=211295 but I believe it should still be a valid test for comparison between requestAnimationFrame and setInterval / setTimeout performance testing.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200508/dfffc17f/attachment.htm>
More information about the webkit-unassigned
mailing list