Windowed score functions by sunnyps · Pull Request #107 · WebKit/MotionMark
More motivation for the windowed fit score profiles:
If you artificially limit the max complexity for a benchmark, say multiply to 1000, so that the browser is able to achieve the target frame rate at that max complexity:
diff --git a/MotionMark/tests/core/resources/multiply.js b/MotionMark/tests/core/resources/multiply.js
index ffec71e..00a4cb2 100644
--- a/MotionMark/tests/core/resources/multiply.js
+++ b/MotionMark/tests/core/resources/multiply.js
@@ -109,7 +109,7 @@ class MultiplyStage extends Stage {
tune(count)
{
- this._offsetIndex = Math.max(0, Math.min(this._offsetIndex + count, this.tiles.length));
+ this._offsetIndex = Math.max(0, Math.min(this._offsetIndex + count, Math.min(this.tiles.length, 1000)));
this._distanceFactor = 1.5 * (1 - 0.5 * Math.max(this._offsetIndex - this._centerSpiralCount, 0) / this._sidePanelCount) / Math.sqrt(this._offsetIndex);
}
Then the slope profile fails to find an inflection point and gives a nonsensical result:
While the windowed strict profile gives you the expected result: