Diff
Modified: trunk/PerformanceTests/ChangeLog (224741 => 224742)
--- trunk/PerformanceTests/ChangeLog 2017-11-13 06:39:14 UTC (rev 224741)
+++ trunk/PerformanceTests/ChangeLog 2017-11-13 06:54:44 UTC (rev 224742)
@@ -1,3 +1,24 @@
+2017-11-12 Jon Lee <[email protected]>
+
+ Add isolated text tests for MotionMark
+ https://bugs.webkit.org/show_bug.cgi?id=179226
+
+ Reviewed by Darin Adler.
+
+ Add a private suite that simplifies the design test.
+
+ * MotionMark/resources/debug-runner/tests.js:
+ * MotionMark/resources/runner/tests.js:
+ * MotionMark/tests/master/design.html: Copied from PerformanceTests/MotionMark/tests/master/text.html.
+ Rename the html file to the title of the test.
+ * MotionMark/tests/master/resources/design.js: Renamed from PerformanceTests/MotionMark/tests/master/resources/text.js.
+ * MotionMark/tests/text/design-6.html: Copied from PerformanceTests/MotionMark/tests/master/text.html.
+ Six active cells
+ * MotionMark/tests/text/design-6.js: Added.
+ * MotionMark/tests/text/design.html: Renamed from PerformanceTests/MotionMark/tests/master/text.html.
+ Replace the text with empty table cells that are populated with desired text.
+ * MotionMark/tests/text/design.js: Added.
+
2017-11-06 Robin Morisset <[email protected]>
Add a third benchmark to TailBench
Modified: trunk/PerformanceTests/MotionMark/resources/debug-runner/tests.js (224741 => 224742)
--- trunk/PerformanceTests/MotionMark/resources/debug-runner/tests.js 2017-11-13 06:39:14 UTC (rev 224741)
+++ trunk/PerformanceTests/MotionMark/resources/debug-runner/tests.js 2017-11-13 06:54:44 UTC (rev 224742)
@@ -266,6 +266,35 @@
]
));
+Suites.push(new Suite("Text suite",
+ [
+ {
+ url: "text/design.html?corpus=latin",
+ name: "Design: Latin only (12 items)"
+ },
+ {
+ url: "text/design.html?corpus=cjk",
+ name: "Design: CJK only (12 items)"
+ },
+ {
+ url: "text/design.html?corpus=arabic",
+ name: "Design: RTL and complex scripts only (12 items)"
+ },
+ {
+ url: "text/design-6.html?corpus=latin",
+ name: "Design: Latin only (6 items)"
+ },
+ {
+ url: "text/design-6.html?corpus=cjk",
+ name: "Design: CJK only (6 items)"
+ },
+ {
+ url: "text/design-6.html?corpus=arabic",
+ name: "Design: RTL and complex scripts only (6 items)"
+ },
+ ]
+));
+
Suites.push(new Suite("3D Graphics",
[
{
Modified: trunk/PerformanceTests/MotionMark/resources/runner/tests.js (224741 => 224742)
--- trunk/PerformanceTests/MotionMark/resources/runner/tests.js 2017-11-13 06:39:14 UTC (rev 224741)
+++ trunk/PerformanceTests/MotionMark/resources/runner/tests.js 2017-11-13 06:54:44 UTC (rev 224742)
@@ -60,7 +60,7 @@
name: "Images"
},
{
- url: "master/text.html",
+ url: "master/design.html",
name: "Design"
},
{
Copied: trunk/PerformanceTests/MotionMark/tests/master/design.html (from rev 224741, trunk/PerformanceTests/MotionMark/tests/master/text.html) (0 => 224742)
--- trunk/PerformanceTests/MotionMark/tests/master/design.html (rev 0)
+++ trunk/PerformanceTests/MotionMark/tests/master/design.html 2017-11-13 06:54:44 UTC (rev 224742)
@@ -0,0 +1,106 @@
+<!--
+ Copyright (C) 2015-2017 Apple Inc. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" type="text/css" href=""
+ <style type="text/css">
+
+ #stage {
+ font-family: Helvetica;
+ font-size: 52px;
+ background-color: #313534;
+ }
+ @media (max-width: 900px) {
+ #stage {
+ font-size: 40px;
+ }
+ }
+ @media (max-width: 568px) {
+ #stage {
+ font-size: 28px;
+ }
+ }
+
+ #stage div {
+ width: 80%;
+ height: 90%;
+ position: absolute;
+ text-align: center;
+ }
+ #template {
+ color: #FCFCFC;
+ }
+ table {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ }
+ td {
+ width: 33%;
+ }
+ tr {
+ height: 20%;
+ }
+ </style>
+</head>
+<body>
+ <div id="stage">
+ <div id="template">
+ <table>
+ <tbody>
+ <tr>
+ <td>σχέδιο</td>
+ <td>设计</td>
+ <td>suunnittelu</td>
+ </tr>
+ <tr>
+ <td>design</td>
+ <td>дизайн</td>
+ <td class="rtl">تصميم</td>
+ </tr>
+ <tr>
+ <td>디자인</td>
+ <td>conception</td>
+ <td>デザイン</td>
+ </tr>
+ <tr>
+ <td>konstruktion</td>
+ <td class="rtl">עיצוב</td>
+ <td>diseño</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+</body>
+</html>
Copied: trunk/PerformanceTests/MotionMark/tests/master/resources/design.js (from rev 224741, trunk/PerformanceTests/MotionMark/tests/master/resources/text.js) (0 => 224742)
--- trunk/PerformanceTests/MotionMark/tests/master/resources/design.js (rev 0)
+++ trunk/PerformanceTests/MotionMark/tests/master/resources/design.js 2017-11-13 06:54:44 UTC (rev 224742)
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2015-2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+(function() {
+
+var TextStage = Utilities.createSubclass(Stage,
+ function()
+ {
+ Stage.call(this);
+
+ this.testElements = [];
+ this._offsetIndex = 0;
+ }, {
+
+ shadowFalloff: new UnitBezier(new Point(0.015, 0.750), new Point(0.755, 0.235)),
+ shimmerAverage: 0,
+ shimmerMax: 0.5,
+ millisecondsPerRotation: 1000 / (.26 * Math.PI * 2),
+ particleDistanceX: 1.5,
+ particleDistanceY: .5,
+ lightnessMin: 13,
+ lightnessMax: 94,
+ gradients: [
+ [10, 176, 176, 209, 148, 140],
+ [171, 120, 154, 245, 196, 154],
+ [224, 99, 99, 71, 134, 148],
+ [101, 100, 117, 80, 230, 175],
+ [232, 165, 30, 69, 186, 172]
+ ],
+
+ initialize: function(benchmark)
+ {
+ Stage.prototype.initialize.call(this, benchmark);
+
+ this._template = document.getElementById("template");
+ this._offset = this.size.subtract(Point.elementClientSize(this._template)).multiply(.5);
+ this._template.style.left = this._offset.width + "px";
+ this._template.style.top = this._offset.height + "px";
+
+ this._stepProgress = 0;
+ },
+
+ tune: function(count)
+ {
+ if (count == 0)
+ return;
+
+ if (count < 0) {
+ this._offsetIndex = Math.max(this._offsetIndex + count, 0);
+ for (var i = this._offsetIndex; i < this.testElements.length; ++i)
+ this.testElements[i].style.visibility = "hidden";
+
+ this._stepProgress = 1 / this._offsetIndex;
+ return;
+ }
+
+ this._offsetIndex = this._offsetIndex + count;
+ this._stepProgress = 1 / this._offsetIndex;
+
+ var index = Math.min(this._offsetIndex, this.testElements.length);
+ for (var i = 0; i < index; ++i)
+ this.testElements[i].style.visibility = "visible";
+
+ if (this._offsetIndex <= this.testElements.length)
+ return;
+
+ for (var i = this.testElements.length; i < this._offsetIndex; ++i) {
+ var clone = this._template.cloneNode(true);
+ this.testElements.push(clone);
+ this.element.insertBefore(clone, this.element.firstChild);
+ }
+ },
+
+ animate: function(timeDelta) {
+ var angle = Stage.dateCounterValue(this.millisecondsPerRotation);
+
+ var progress = 0;
+ var stepX = Math.sin(angle) * this.particleDistanceX;
+ var stepY = Math.cos(angle) * this.particleDistanceY;
+ var x = -stepX * 3;
+ var y = -stepY * 3;
+ var gradient = this.gradients[Math.floor(angle/(Math.PI * 2)) % this.gradients.length];
+ var offset = Stage.dateCounterValue(200);
+ this._template.style.transform = "translate(" + Math.floor(x) + "px," + Math.floor(y) + "px)";
+ for (var i = 0; i < this._offsetIndex; ++i) {
+ var element = this.testElements[i];
+
+ var colorProgress = this.shadowFalloff.solve(progress);
+ var shimmer = Math.sin(offset - colorProgress);
+ colorProgress = Math.max(Math.min(colorProgress + Utilities.lerp(shimmer, this.shimmerAverage, this.shimmerMax), 1), 0);
+ var r = Math.round(Utilities.lerp(colorProgress, gradient[0], gradient[3]));
+ var g = Math.round(Utilities.lerp(colorProgress, gradient[1], gradient[4]));
+ var b = Math.round(Utilities.lerp(colorProgress, gradient[2], gradient[5]));
+ element.style.color = "rgb(" + r + "," + g + "," + b + ")";
+
+ x += stepX;
+ y += stepY;
+ element.style.transform = "translate(" + Math.floor(x) + "px," + Math.floor(y) + "px)";
+
+ progress += this._stepProgress;
+ }
+ },
+
+ complexity: function()
+ {
+ return 1 + this._offsetIndex;
+ }
+});
+
+var TextBenchmark = Utilities.createSubclass(Benchmark,
+ function(options)
+ {
+ Benchmark.call(this, new TextStage(), options);
+ }
+);
+
+window.benchmarkClass = TextBenchmark;
+
+}());
Deleted: trunk/PerformanceTests/MotionMark/tests/master/resources/text.js (224741 => 224742)
--- trunk/PerformanceTests/MotionMark/tests/master/resources/text.js 2017-11-13 06:39:14 UTC (rev 224741)
+++ trunk/PerformanceTests/MotionMark/tests/master/resources/text.js 2017-11-13 06:54:44 UTC (rev 224742)
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2015-2017 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-(function() {
-
-var TextStage = Utilities.createSubclass(Stage,
- function()
- {
- Stage.call(this);
-
- this.testElements = [];
- this._offsetIndex = 0;
- }, {
-
- shadowFalloff: new UnitBezier(new Point(0.015, 0.750), new Point(0.755, 0.235)),
- shimmerAverage: 0,
- shimmerMax: 0.5,
- millisecondsPerRotation: 1000 / (.26 * Math.PI * 2),
- particleDistanceX: 1.5,
- particleDistanceY: .5,
- lightnessMin: 13,
- lightnessMax: 94,
- gradients: [
- [10, 176, 176, 209, 148, 140],
- [171, 120, 154, 245, 196, 154],
- [224, 99, 99, 71, 134, 148],
- [101, 100, 117, 80, 230, 175],
- [232, 165, 30, 69, 186, 172]
- ],
-
- initialize: function(benchmark)
- {
- Stage.prototype.initialize.call(this, benchmark);
-
- this._template = document.getElementById("template");
- this._offset = this.size.subtract(Point.elementClientSize(this._template)).multiply(.5);
- this._template.style.left = this._offset.width + "px";
- this._template.style.top = this._offset.height + "px";
-
- this._stepProgress = 0;
- },
-
- tune: function(count)
- {
- if (count == 0)
- return;
-
- if (count < 0) {
- this._offsetIndex = Math.max(this._offsetIndex + count, 0);
- for (var i = this._offsetIndex; i < this.testElements.length; ++i)
- this.testElements[i].style.visibility = "hidden";
-
- this._stepProgress = 1 / this._offsetIndex;
- return;
- }
-
- this._offsetIndex = this._offsetIndex + count;
- this._stepProgress = 1 / this._offsetIndex;
-
- var index = Math.min(this._offsetIndex, this.testElements.length);
- for (var i = 0; i < index; ++i)
- this.testElements[i].style.visibility = "visible";
-
- if (this._offsetIndex <= this.testElements.length)
- return;
-
- for (var i = this.testElements.length; i < this._offsetIndex; ++i) {
- var clone = this._template.cloneNode(true);
- this.testElements.push(clone);
- this.element.insertBefore(clone, this.element.firstChild);
- }
- },
-
- animate: function(timeDelta) {
- var angle = Stage.dateCounterValue(this.millisecondsPerRotation);
-
- var progress = 0;
- var stepX = Math.sin(angle) * this.particleDistanceX;
- var stepY = Math.cos(angle) * this.particleDistanceY;
- var x = -stepX * 3;
- var y = -stepY * 3;
- var gradient = this.gradients[Math.floor(angle/(Math.PI * 2)) % this.gradients.length];
- var offset = Stage.dateCounterValue(200);
- this._template.style.transform = "translate(" + Math.floor(x) + "px," + Math.floor(y) + "px)";
- for (var i = 0; i < this._offsetIndex; ++i) {
- var element = this.testElements[i];
-
- var colorProgress = this.shadowFalloff.solve(progress);
- var shimmer = Math.sin(offset - colorProgress);
- colorProgress = Math.max(Math.min(colorProgress + Utilities.lerp(shimmer, this.shimmerAverage, this.shimmerMax), 1), 0);
- var r = Math.round(Utilities.lerp(colorProgress, gradient[0], gradient[3]));
- var g = Math.round(Utilities.lerp(colorProgress, gradient[1], gradient[4]));
- var b = Math.round(Utilities.lerp(colorProgress, gradient[2], gradient[5]));
- element.style.color = "rgb(" + r + "," + g + "," + b + ")";
-
- x += stepX;
- y += stepY;
- element.style.transform = "translate(" + Math.floor(x) + "px," + Math.floor(y) + "px)";
-
- progress += this._stepProgress;
- }
- },
-
- complexity: function()
- {
- return 1 + this._offsetIndex;
- }
-});
-
-var TextBenchmark = Utilities.createSubclass(Benchmark,
- function(options)
- {
- Benchmark.call(this, new TextStage(), options);
- }
-);
-
-window.benchmarkClass = TextBenchmark;
-
-}());
Deleted: trunk/PerformanceTests/MotionMark/tests/master/text.html (224741 => 224742)
--- trunk/PerformanceTests/MotionMark/tests/master/text.html 2017-11-13 06:39:14 UTC (rev 224741)
+++ trunk/PerformanceTests/MotionMark/tests/master/text.html 2017-11-13 06:54:44 UTC (rev 224742)
@@ -1,106 +0,0 @@
-<!--
- Copyright (C) 2015-2017 Apple Inc. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.
--->
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <link rel="stylesheet" type="text/css" href=""
- <style type="text/css">
-
- #stage {
- font-family: Helvetica;
- font-size: 52px;
- background-color: #313534;
- }
- @media (max-width: 900px) {
- #stage {
- font-size: 40px;
- }
- }
- @media (max-width: 568px) {
- #stage {
- font-size: 28px;
- }
- }
-
- #stage div {
- width: 80%;
- height: 90%;
- position: absolute;
- text-align: center;
- }
- #template {
- color: #FCFCFC;
- }
- table {
- position: relative;
- width: 100%;
- height: 100%;
- }
- td {
- width: 33%;
- }
- tr {
- height: 20%;
- }
- </style>
-</head>
-<body>
- <div id="stage">
- <div id="template">
- <table>
- <tbody>
- <tr>
- <td>σχέδιο</td>
- <td>设计</td>
- <td>suunnittelu</td>
- </tr>
- <tr>
- <td>design</td>
- <td>дизайн</td>
- <td class="rtl">تصميم</td>
- </tr>
- <tr>
- <td>디자인</td>
- <td>conception</td>
- <td>デザイン</td>
- </tr>
- <tr>
- <td>konstruktion</td>
- <td class="rtl">עיצוב</td>
- <td>diseño</td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <script src=""
- <script src=""
- <script src=""
- <script src=""
- <script src=""
- <script src=""
-</body>
-</html>
Copied: trunk/PerformanceTests/MotionMark/tests/text/design-6.html (from rev 224741, trunk/PerformanceTests/MotionMark/tests/master/text.html) (0 => 224742)
--- trunk/PerformanceTests/MotionMark/tests/text/design-6.html (rev 0)
+++ trunk/PerformanceTests/MotionMark/tests/text/design-6.html 2017-11-13 06:54:44 UTC (rev 224742)
@@ -0,0 +1,117 @@
+<!--
+ Copyright (C) 2017 Apple Inc. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" type="text/css" href=""
+ <style type="text/css">
+
+ #stage {
+ font-family: Helvetica;
+ font-size: 52px;
+ background-color: #422E2C;
+ }
+ @media (max-width: 900px) {
+ #stage {
+ font-size: 40px;
+ }
+ }
+ @media (max-width: 568px) {
+ #stage {
+ font-size: 28px;
+ }
+ }
+
+ #stage div {
+ width: 80%;
+ height: 90%;
+ position: absolute;
+ text-align: center;
+ }
+ #template {
+ color: #FCFCFC;
+ }
+ table {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ }
+ td {
+ width: 25%;
+ }
+ tr {
+ height: 20%;
+ }
+ </style>
+</head>
+<body>
+ <div id="stage">
+ <div id="template">
+ <table>
+ <tbody>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td id="cell0"></td>
+ <td id="cell1"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td id="cell2"></td>
+ <td id="cell3"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td id="cell4"></td>
+ <td id="cell5"></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src="" charset="utf-8"></script>
+</body>
+</html>
Added: trunk/PerformanceTests/MotionMark/tests/text/design-6.js (0 => 224742)
--- trunk/PerformanceTests/MotionMark/tests/text/design-6.js (rev 0)
+++ trunk/PerformanceTests/MotionMark/tests/text/design-6.js 2017-11-13 06:54:44 UTC (rev 224742)
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+(function() {
+
+// The MotionMark-based TextBenchmark should already be set to |window.benchmarkClass|
+var TextBenchmark = window.benchmarkClass;
+var TextTemplateBenchmark = Utilities.createSubclass(TextBenchmark,
+ function(options)
+ {
+ var dataset;
+ switch (options["corpus"]) {
+ case "latin":
+ dataset = [
+ "σχέδιο",
+ "umění",
+ "design",
+ "искусство",
+ "conception",
+ "diseño"
+ ];
+ break;
+ case "cjk":
+ dataset = [
+ "设计",
+ "디자인",
+ "デザイン",
+ "예술",
+ "使吃惊",
+ "がいねん",
+ ];
+ break;
+ case "arabic":
+ dataset = [
+ {text: "تصميم", direction: "rtl"},
+ "வடிவமைப்பு",
+ "योजना",
+ {text: "לְעַצֵב", direction: "rtl"},
+ {text: "خلاق", direction: "rtl"},
+ "ศิลปะ",
+ ];
+ break;
+ }
+
+ dataset.forEach(function(entry, i) {
+ var td = document.getElementById("cell" + i);
+ if (typeof entry === 'string') {
+ td.innerText = entry;
+ } else {
+ td.innerText = entry.text;
+ td.classList.add("rtl");
+ }
+ })
+
+ TextBenchmark.call(this, options);
+ }
+);
+
+window.benchmarkClass = TextTemplateBenchmark;
+
+})();
\ No newline at end of file
Copied: trunk/PerformanceTests/MotionMark/tests/text/design.html (from rev 224741, trunk/PerformanceTests/MotionMark/tests/master/text.html) (0 => 224742)
--- trunk/PerformanceTests/MotionMark/tests/text/design.html (rev 0)
+++ trunk/PerformanceTests/MotionMark/tests/text/design.html 2017-11-13 06:54:44 UTC (rev 224742)
@@ -0,0 +1,107 @@
+<!--
+ Copyright (C) 2017 Apple Inc. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="utf-8">
+ <link rel="stylesheet" type="text/css" href=""
+ <style type="text/css">
+
+ #stage {
+ font-family: Helvetica;
+ font-size: 52px;
+ background-color: #422E2C;
+ }
+ @media (max-width: 900px) {
+ #stage {
+ font-size: 40px;
+ }
+ }
+ @media (max-width: 568px) {
+ #stage {
+ font-size: 28px;
+ }
+ }
+
+ #stage div {
+ width: 80%;
+ height: 90%;
+ position: absolute;
+ text-align: center;
+ }
+ #template {
+ color: #FCFCFC;
+ }
+ table {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ }
+ td {
+ width: 33%;
+ }
+ tr {
+ height: 20%;
+ }
+ </style>
+</head>
+<body>
+ <div id="stage">
+ <div id="template">
+ <table>
+ <tbody>
+ <tr>
+ <td id="cell0"></td>
+ <td id="cell1"></td>
+ <td id="cell2"></td>
+ </tr>
+ <tr>
+ <td id="cell3"></td>
+ <td id="cell4"></td>
+ <td id="cell5"></td>
+ </tr>
+ <tr>
+ <td id="cell6"></td>
+ <td id="cell7"></td>
+ <td id="cell8"></td>
+ </tr>
+ <tr>
+ <td id="cell9"></td>
+ <td id="cell10"></td>
+ <td id="cell11"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <script src="" charset="utf-8"></script>
+</body>
+</html>
Added: trunk/PerformanceTests/MotionMark/tests/text/design.js (0 => 224742)
--- trunk/PerformanceTests/MotionMark/tests/text/design.js (rev 0)
+++ trunk/PerformanceTests/MotionMark/tests/text/design.js 2017-11-13 06:54:44 UTC (rev 224742)
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2017 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+(function() {
+
+// The MotionMark-based TextBenchmark should already be set to |window.benchmarkClass|
+var TextBenchmark = window.benchmarkClass;
+var TextTemplateBenchmark = Utilities.createSubclass(TextBenchmark,
+ function(options)
+ {
+ var dataset;
+ switch (options["corpus"]) {
+ case "latin":
+ dataset = [
+ "σχέδιο",
+ "umění",
+ "suunnittelu",
+ "design",
+ "deseń",
+ "искусство",
+ "дизайн",
+ "conception",
+ "kunst",
+ "konstruktion",
+ "τέχνη",
+ "diseño"
+ ];
+ break;
+ case "cjk":
+ dataset = [
+ "设计",
+ "디자인",
+ "デザイン",
+ "がいねん",
+ "藝術",
+ "养殖",
+ "예술",
+ "展開する",
+ "발달",
+ "技術",
+ "驚き",
+ "使吃惊",
+ ];
+ break;
+ case "arabic":
+ dataset = [
+ {text: "تصميم", direction: "rtl"},
+ "வடிவமைப்பு",
+ "योजना",
+ {text: "לְעַצֵב", direction: "rtl"},
+ {text: "خلاق", direction: "rtl"},
+ "ศิลปะ",
+ "कौशल",
+ {text: "אָמָנוּת", direction: "rtl"},
+ "கலை",
+ "ดีไซน์",
+ "পরিকল্পনা",
+ {text: "ډیزاین", direction: "rtl"},
+ ];
+ break;
+ }
+
+ dataset.forEach(function(entry, i) {
+ var td = document.getElementById("cell" + i);
+ if (typeof entry === 'string') {
+ td.innerText = entry;
+ } else {
+ td.innerText = entry.text;
+ td.classList.add("rtl");
+ }
+ })
+
+ TextBenchmark.call(this, options);
+ }
+);
+
+window.benchmarkClass = TextTemplateBenchmark;
+
+})();
\ No newline at end of file