Basic benchmarks to measure HTML5 performance and support for game related features
- Install Node.js (0.6.0+).
- Run in shell:
npm install
- Run in shell:
node server
- Open in browser:
http://localhost:3002/
- Configure parameters of the test run, if desired.
- Click "Run Tests".
- If you uploaded results, see the
server/uploads/
directory.
The Source type
indicates the data being displayed.
The Technique
indicates the browser method used to render the data.
The Test type
indicates what transformations were performed on the data using
the technique.
The JS time (ms)
result shows how much JavaScript time was spent rendering
the objects in one second.
The Objects at 30FPS
result shows how many objects were able to be rendered
while rendering at 30 frames per second.
The Cold play latency
indicates how much time it took between .play()
and
the first subsequent play
or timeupdate
event on a new WAV <audio>
element.
The Warm play latency
indicates how much time it took between .play()
and
the first subsequent play
or timeupdate
event on a WAV <audio>
element
which has already played.
The Score
result shows how many renders could be made per 100 milliseconds.
Test cases are build into a recursive object structure. Test cases are run
through the test runner in js/testRunner.js
.
Test cases are displayed based upon the specification in js/tables.js
.
Sprite tests are found under js/sprites/
.
There are three interleaved components:
Each source represents some asset (e.g. a sprite sheet). Maps to the Source type
result.
Transformers modify the source by applying affine or other transformations.
Maps to the Test type
result.
Renderers displayed transformed sources using different techniques. Maps to the
Technique
result. See js/sprites/renderers/README.md
for details.