Support non-60 frame rates in MotionMark
https://bugs.webkit.org/show_bug.cgi?id=244656
<rdar://problem/99416135>
Reviewed by Said Abou-Hallawa.
Some devices have refresh rates that are not 60fps (like ProMotion @ 120Hz),
and run requestAnimationFrame at that speed. Update MotionMark so that:
- it doesn't hard-code 60fps everywhere
- it attempts to detect the system frame rate
- the results make it clear what frame rate the tests were using
* PerformanceTests/MotionMark/developer.html:
Add the system frame rate and some related text.
* PerformanceTests/MotionMark/resources/debug-runner/graph.js:
Get the graphing component to read the frame rate provided
by the results.
(updateGraphData):
(createComplexityGraph):
(onGraphTypeChanged):
* PerformanceTests/MotionMark/resources/debug-runner/motionmark.css:
(#frame-rate-detection span): Make this red when we're in progress.
* PerformanceTests/MotionMark/resources/debug-runner/motionmark.js:
Detect the system frame rate.
* PerformanceTests/MotionMark/resources/runner/motionmark.css:
(section .body p): This text got longer, so give it a max-width.
* PerformanceTests/MotionMark/resources/runner/motionmark.js:
Add support for variable frame rates where necessary.
* PerformanceTests/MotionMark/resources/statistics.js:
Ditto.
* PerformanceTests/MotionMark/resources/strings.js:
Add a new string.
* PerformanceTests/MotionMark/tests/resources/main.js:
Support for variable rates.
[Note that this doesn't enable auto framerate detection when not running from
developer.html]
Canonical link: https://commits.webkit.org/254133@main
10 files changed