Abo
  • Services:

asm.js: Epic Citadel läuft auch in Chrome und Opera

Die von Mozilla und Epic veröffentlichte HTML5-Demo Epik Citadel läuft nun offiziell auch in Chrome und Opera, die für asm.js geschriebenen Code dank diverser Optimierungen schneller ausführen.

Artikel veröffentlicht am ,
Epic Citadel läuft nun auch in Chrome und Opera
Epic Citadel läuft nun auch in Chrome und Opera (Bild: Epic Games)

Mozilla hat zusammen mit dem Spielehersteller die Unreal Engine in HTML5 umgesetzt und im Mai 2013 die Demo Epic Citadel veröffentlicht, um zu zeigen, wozu die von Mozilla entwickelte Javascript-Erweiterung asm.js imstande ist. Ab sofort unterstützt Epic Citadel neben Firefox zwei weitere Browser: Chrome ab der Version 31 und Opera ab der Version 18. Zwar unterstützen die beiden Browser asm.js offiziell nicht, sind aber dank einiger Optimierungen in der Lage, entsprechenden Code schneller auszuführen als noch vor wenigen Monaten.

Stellenmarkt
  1. via experteer GmbH, Bonn
  2. PARI Pharma GmbH, Gräfelfing

Laut Mozilla läuft Epic Citadel in Firefox, der asm.js direkt unterstützt, noch etwas schneller als in den beiden auf Blink und V8 basierenden Browsern. Die beiden anderen Browser hätten aber aufgeschlossen, heißt es in einem Blogeintrag.

Bei asm.js handelt es sich um eine Javascript-Erweiterung, mit der bestimmte Javascript-Programme zwei- bis fünfmal so schnell ausgeführt werden können wie bisher.

Konkret handelt es sich bei asm.js um ein Javascript-Subset, so dass sich für asm.js geschriebener Code in jeder Javascript-Engine ausführen lässt. Javascript-Engines, die auf asm.js aber vorbereitet sind, wie die von Firefox, Chrome und Opera, können den Code deutlich schneller ausführen. Unterm Strich sollen asm.js-Programme etwa halb so schnell sein wie nativer Code, der in C/C++ geschrieben wurde. Damit erreicht Javascript mit asm.js in etwa die Geschwindigkeit von Java und C#.

Um diesen Geschwindigkeitssprung zu erreichen, führt asm.js strikte Typen für Integer und Floats sowie einen virtuellen Heap ein, der durch ein Typed Array repräsentiert wird. Integer-Variablen werden nach dem aktuellen Entwurf mit dem Anhang "|0" versehen, Floats wird ein "+" vorangestellt. Die Einhaltung der strikten Typen kann beim Parsen des Javascript-Codes überprüft werden, vorausgesetzt, die Javascript-Engine wird mit "use asm"; dazu angewiesen.

Da sich die Typen während der Laufzeit nicht verändern, kann für den entsprechenden Code ein Ahead-of-Time-Compiler verwendet werden. Auch eine Garbage-Collection ist nicht mehr notwendig, was letztendlich dafür sorgt, dass der Javascript-Code deutlich schneller ausgeführt werden kann. Gedacht ist asm.js vor allem für automatisch aus anderen Sprachen erzeugten Javascript-Code, beispielsweise C-Code, der per Emscripten in Javascript übersetzt wird. Nachtrag vom 17. November 2013, 10:10 Uhr:

In der Meldung hieß es ursprünglich, Chrome 31 und Opera 18 unterstützten asm.js. Das ist nicht korrekt. Die beiden Browser sind aber dank diverser Optimierungen in der Lage, entsprechenden Code deutlich schneller auszuführen. Offizielle Unterstützung für asm.js bieten Chrome und Opera nicht. Das wurde im Artikel entsprechend korrigiert.



Anzeige
Top-Angebote
  1. 24,99€ statt 39,99€
  2. 159,00€
  3. (u. a. Professional Akku Schlagbohrschrauber 109,33€, Akku-Baustellen-Lampe 94,10€)
  4. (u. a. Steuer Sparbuch 2019 19,99€)

Haxx 27. Nov 2013

Multithreading gibt es bei asm.js schlicht nicht (vorteil nacl). Das müsste dann schon...

poke53281 27. Nov 2013

Das Frage ich mich auch. Ist mir jedenfalls nicht bekannt, dass Chrome asm.js...


Folgen Sie uns
       


Nubia Red Magic Mars - Hands on (CES 2019)

Das Red Magic Mars von Nubia ist ein Gaming-Smartphone mit guter Hardware - und einem ziemlich guten Preis.

Nubia Red Magic Mars - Hands on (CES 2019) Video aufrufen
Raspberry Pi: Spieglein, Spieglein, werde smart!
Raspberry Pi
Spieglein, Spieglein, werde smart!

Ein Spiegel, ein ausrangierter Monitor und ein Raspberry Pi sind die grundlegenden Bauteile, mit denen man sich selbst einen Smart Mirror basteln kann. Je nach Interesse können dort dann das Wetter, Fahrpläne, Nachrichten oder auch stimmungsvolle Bilder angezeigt werden.
Eine Anleitung von Christopher Bichl

  1. IoT mit LoRa und Raspberry Pi Die DNA des Internet der Dinge
  2. Bewegungssensor auswerten Mit Wackeln programmieren lernen
  3. Raspberry Pi Cam Babycam mit wenig Aufwand selbst bauen

Enterprise Resource Planning: Drei Gründe für das Scheitern von SAP-Projekten
Enterprise Resource Planning
Drei Gründe für das Scheitern von SAP-Projekten

Projekte mit der Software von SAP? Da verdrehen viele IT-Experten die Augen. Prominente Beispiele von Lidl und Haribo aus dem vergangenen Jahr scheinen diese These zu bestätigen: Gerade SAP-Projekte laufen selten in time, in budget und in quality. Dafür gibt es Gründe - und Gegenmaßnahmen.
Von Markus Kammermeier


    Radeon VII im Test: Die Grafikkarte für Videospeicher-Liebhaber
    Radeon VII im Test
    Die Grafikkarte für Videospeicher-Liebhaber

    Höherer Preis, ähnliche Performance und doppelt so viel Videospeicher wie die Geforce RTX 2080: AMDs Radeon VII ist eine primär technisch spannende Grafikkarte. Bei Energie-Effizienz und Lautheit bleibt sie chancenlos, die 16 GByte Videospeicher sind eher ein Nischen-Bonus.
    Ein Test von Marc Sauter und Sebastian Grüner

    1. Grafikkarte UEFI-Firmware lässt Radeon VII schneller booten
    2. AMD Radeon VII tritt mit PCIe Gen3 und geringer DP-Rate an
    3. Radeon Instinct MI60 AMD hat erste Grafikkarte mit 7 nm und PCIe 4.0

      •  /