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
tree: 7274b65e9b99379a3edd5b4456c4bb7d1bcbbaab
  1. MotionMark/
  2. .gitignore
  3. Governance.md
  4. index.html
  5. LICENSE
  6. README.md
README.md

MotionMark

MotionMark is a graphics benchmark to measure the performance of graphics operations on the web.