luni, 24 iunie 2013

Test your browser WebGL with glMatrix.

The glMatrix is designed to perform vector and matrix operations stupidly fast! By hand-tuning each function for maximum performance and encouraging efficient usage patterns through API conventions, glMatrix will help you get the most out of your browsers Javascript engine.

The glMatrix has moved to GitHub.

Test with the new benchmark.

You can test your browser using old google

I have one old video card NVIDIA FX 5500 and this is the output.

 This page benchmarks the performance of several matrix libraries intended for use with WebGL: glMatrix, mjs, CanvasMatrix, and EWGL_math
Benchmark times are averaged over 10 runs of 20,000 iterations of the target operation.
=============================================
Multiplication
=============================================

glMatrix - Avg: 321.4ms, Min: 318ms, Max: 333ms

mjs - Avg: 563.8ms, Min: 560ms, Max: 569ms

CanvasMatrix - Avg: 26ms, Min: 24ms, Max: 30ms

EWGL - Avg: 591.3ms, Min: 321ms, Max: 2963ms

=============================================
Translation
=============================================

glMatrix - Avg: 81.6ms, Min: 81ms, Max: 84ms

mjs - Avg: 642.2ms, Min: 638ms, Max: 650ms

CanvasMatrix - Avg: 123.3ms, Min: 120ms, Max: 126ms

EWGL - Avg: 114.4ms, Min: 112ms, Max: 119ms

=============================================
Scaling
=============================================

glMatrix - Avg: 75.8ms, Min: 74ms, Max: 78ms

mjs - Avg: 603.1ms, Min: 600ms, Max: 609ms

CanvasMatrix - Avg: 246ms, Min: 245ms, Max: 247ms

EWGL - Avg: 96.2ms, Min: 95ms, Max: 100ms

=============================================
Rotation (Arbitrary axis)
=============================================

glMatrix - Avg: 276ms, Min: 269ms, Max: 304ms

mjs - Avg: 6684.8ms, Min: 815ms, Max: 59376ms

CanvasMatrix - Avg: 602.8ms, Min: 594ms, Max: 623ms

EWGL - Avg: 286ms, Min: 284ms, Max: 289ms

=============================================
Rotation (X axis)
=============================================

glMatrix - Avg: 228ms, Min: 227ms, Max: 230ms

mjs - Avg: 821.4ms, Min: 819ms, Max: 825ms

CanvasMatrix - Avg: 605ms, Min: 331ms, Max: 3010ms

EWGL - Avg: 272ms, Min: 265ms, Max: 284ms

=============================================
Transpose
=============================================

glMatrix - Avg: 53.9ms, Min: 49ms, Max: 75ms

mjs - Avg: 70.9ms, Min: 66ms, Max: 99ms

CanvasMatrix - Avg: 2.3ms, Min: 2ms, Max: 3ms

EWGL - Avg: 48.1ms, Min: 47ms, Max: 49ms

=============================================
Inverse
=============================================

glMatrix - Avg: 378.2ms, Min: 376ms, Max: 383ms

mjs: Unsupported

CanvasMatrix - Avg: 371.9ms, Min: 344ms, Max: 500ms

EWGL - Avg: 1717.9ms, Min: 1323ms, Max: 4697ms

=============================================
Inverse 3x3
=============================================

glMatrix - Avg: 119.4ms, Min: 118ms, Max: 122ms

mjs - Avg: 181.8ms, Min: 180ms, Max: 185ms

CanvasMatrix: Unsupported

EWGL: Unsupported

=============================================
Vector Transformation
=============================================

glMatrix - Avg: 53ms, Min: 52ms, Max: 54ms

mjs: Unsupported

CanvasMatrix: Unsupported

EWGL: Unsupported

This can help you when want to test some new features of WebGL glMatrix.