Unity WebGL: WebAssembly verkürzt Ladezeiten gegenüber asm.js

Unity hat am 17. September 2018 die Ladezeiten und die Laufzeit von Unity WebGL in vier Desktop-Browsern verglichen. Der offizielle Benchmark-Bericht stellt WebAssembly der bisherigen asm.js-Ausgabe gegenüber und untersucht Builds aus Unity 2018.2.5f1.

Für die Messungen nutzte Unity Firefox 61, Chrome 70, Safari 11.1.2 und Edge 17. Getestet wurden 64-Bit-Browser unter Windows 10 mit einem Intel Xeon W-2145, 32 GB Arbeitsspeicher und einer GeForce GTX 1080 sowie unter macOS 10.13.6 auf einem MacBook Pro mit Radeon Pro 560X.

WebAssembly verkürzt die Ladezeit von Unity-WebGL-Projekten

Der Benchmark erzeugte 4,6 MB komprimierten WebAssembly-Code. Die vergleichbare asm.js-Version kam auf 6,1 MB. Unity maß wiederholte Ladevorgänge mit bereits zwischengespeicherten Dateien und setzte dafür die Cache-Control-Einstellung auf immutable. Chrome und Edge luden den Benchmark mit WebAssembly deutlich schneller, auch Firefox und Safari profitierten gegenüber asm.js, wobei Safari den geringsten Vorteil zeigte.

Bei der Ausführung lagen die WebAssembly-Builds in allen Browsern vor asm.js. Unity führte den Effekt unter anderem auf die gestufte Kompilierung zurück: Browser erzeugen zunächst schnell ausführbaren Code und optimieren häufig genutzte Funktionen später. Für reale Projekte verweist der Bericht zusätzlich auf die Unity-Dokumentation zur WebGL-Performance, da Dateigröße, Shader-Kompilierung und Audiodekodierung die erste Ladezeit weiterhin beeinflussen.

Die Ergebnisse bauen auf der früheren WebAssembly-Browser-Vorschau auf. Für Entwickler von Browser-Spielen bedeutete der Wechsel zu WebAssembly damit nicht nur ein neues Binärformat, sondern auch messbare Änderungen bei Startzeit und Laufzeitverhalten von Unity-Projekten.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein