WebGL im Benchmarkvergleich

Dieser Artikel wurde von Martin Breuer geschrieben. Momentan schreibt er an seiner Bachelor Arbeit und kann dafür eure Hilfe sehr gebrauchen.
Ich bitte euch, nehmt euch ein wenig Zeit, lest den Artikel und lasst eure(n) Browser mal durch seinen WebGL Benchmark laufen.
Martin ist Autor von droidnova.com, ein auf Android Themen spezialisiertes Blog. Zusätzlich leitet und programmiert er das Projekt „Saint Feint City“ (Facebook), ein opensource, SimCity-ähnliches Android Spiel.


Informationen

Benchmarks gibt es wie Sand am Meer. Für nahezu alles was man sich denken kann. Für mich gibt es momentan ein wichtiges Gebiet für das es kaum einen Benchmark gibt. Die Benchmarks für WebGL, die ich bisher gefunden habe, sind entweder nur für Vollprofis ( Link: http://webgl-bench.appspot.com/ ) verständlich oder sie sind nicht gut gepflegt und laufen daher der Entwicklung von WebGL kräftig hinterher. Für meine Bachelorarbeit musste ich einen Benchmark schreiben, der die Leistungsfähigkeit von WebGL misst. Damit die Leistungsfähigkeit nicht nur unter den Browsern verglichen wird, sondern auch mit alternativen Lösungen wie einem Java Applet, musste der Benchmark entsprechend auch in einem Applet realisiert werden.

Mein Benchmark läuft in 2 Teilen ab. Der erste Teil ist eine reine WebGL Implementierung und nutzt daher nur OpenGL ES 2.0 Aufrufe über die Javascript Engine und Javascript selbst, um alles zu steuern.
Der zweite Teil ist eine Portierung des Benchmarks zu einem Java Applet. Bei beiden Benchmarkteilen werden die Frameraten in Abhängigkeit zu den angezeigten Elementen ermittelt und eine Punktzahl ausgerechnet. Anhand dieser Punktzahl ist es möglich, nicht nur die WebGL Leistungen browserübergreifend zu ermitteln, sondern auch die Leistung im direkten Vergleich mit einer anderen Technologie zu sehen.

Nach ersten Erkenntnissen steckt die Implementierung von WebGL noch in den Kinderschuhen. Sie wird zwar von den wichtigsten Browsern (abgesehen vom Internet Explorer) schon indirekt unterstützt, dennoch ist die Leistung im Vergleich zum Java Applet ziemlich schwach. Sicher liegt das zum einen an der Geschwindigkeit von Javascript im Vergleich zu Sprachen wie Java und C/C++. Wer Interesse an Javascript Benchmarks für seine Browser hat, der sollte vielleicht die gängigen 4 Benchmarks ausführen und schauen, welcher Browser bei ihm am schnellsten läuft.

Google V8 Benchmark:
http://v8.googlecode.com/svn/data/benchmarks/v6/run.html
Mozillas Dromaeo:
http://dromaeo.com/
Mozillas Kraken:
http://krakenbenchmark.mozilla.org/
Webkits SunSpider:
http://www2.webkit.org/perf/sunspider/sunspider.html

Damit die ersten Erkenntnisse allerdings zu fundierten Erkenntnissen werden, würde ich mich freuen, wenn Ihr eurer Neugier nachgebt und den Benchmark selbst ausführt. Am Ende des Benchmarks könnt Ihr eure Ergebnisse in einem Formular sehen. Wenn Ihr das Formular auch noch abschickt, dann kann ich eure anonymen Daten zur Analyse in meiner Bachelorarbeit verwenden.

Der Benchmark

Meinen WebGL Benchmark findet man unter:

http://martin.cyor.eu/benchmark

Falls euch WebGL komplett neu ist, bitte die ersten beiden FAQ Einträge durchlesen, dort ist alles nötige erklärt bzw verlinkt.

Support

Wer Probleme mit dem Java Applet hat (was leider zu häufig vorkommt) kann die Ausgabe der Java Console vertrauensvoll an mich schicken. Ich werde dann versuchen das Problem zu beheben.

3 Kommentare

  1. Hi,
    interessanter Benchmark. Ich habe mich vor einem Jahr für meine Computergrafik-LV auch mal mit WebGL beschäftigt. Ich glaube, dass WebGL bald sehr populär wird, wenn es erstmal von allen Browsern standardmäßig unterstützt wird.
    Kleine Anmerkung: Die FPS Anzeige aktualisiert sich bei mir während des Tests nicht. Und das Java Applet stürzt wider erwarten ab. Getestet in Chrome 10. Ich werde es später nochmal im Firefox und Chrome 9 testen.

Schreibe einen Kommentar