Abo
  • Services:
Anzeige
Epic Citadel läuft nun auch in Chrome und Opera
Epic Citadel läuft nun auch in Chrome und Opera (Bild: Epic Games)

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

Epic Citadel läuft nun auch in Chrome und Opera
Epic Citadel läuft nun auch in Chrome und Opera (Bild: Epic Games)

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.

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.

Anzeige

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.


eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. MediaMarktSaturn Retail Group, Erfurt
  2. ADG Apotheken-Dienstleistungsgesellschaft mbH, Regensburg
  3. Pluradent AG & Co. KG, Offenbach
  4. Präsidium Technik, Logistik, Service der Polizei, Stuttgart


Anzeige
Top-Angebote
  1. 3,99€ (enthält u. a. 5€-Gutschein für pizza.de, PDF-Download der PC Games 03/18, Leisure Suit...
  2. 39,99€ (Release am 16. März)
  3. 69,37€

Folgen Sie uns
       


  1. Signal Foundation

    Whatsapp-Gründer investiert 50 Millionen US-Dollar in Signal

  2. Astronomie

    Amateur beobachtet erstmals die Geburt einer Supernova

  3. Internet der Dinge

    Bosch will die totale Vernetzung

  4. Bad News

    Browsergame soll Mechanismen von Fake News erklären

  5. Facebook

    Denn sie wissen nicht, worin sie einwilligen

  6. Opensignal

    Deutschland soll auch beim LTE-Ausbau abgehängt sein

  7. IBM Spectrum NAS

    NAS-Software ist klein gehalten und leicht installierbar

  8. Ryzen V1000 und Epyc 3000

    AMD bringt Zen-Architektur für den Embedded-Markt

  9. Dragon Ball FighterZ im Test

    Kame-hame-ha!

  10. Für 4G und 5G

    Ericsson und Swisscom demonstrieren Network Slicing



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
HP Omen X VR im Test: VR auf dem Rücken kann nur teils entzücken
HP Omen X VR im Test
VR auf dem Rücken kann nur teils entzücken
  1. 3D Rudder Blackhawk Mehr Frags mit Fußschlaufen
  2. Kreativ-Apps für VR-Headsets Austoben im VR-Atelier
  3. Apps und Games für VR-Headsets Der virtuelle Blade Runner und Sport mit Sparc

Entdeckertour angespielt: Assassin's Creed Origins und die Spur der Geschichte
Entdeckertour angespielt
Assassin's Creed Origins und die Spur der Geschichte
  1. Assassin's Creed Denuvo und VM Protect bei Origins ausgehebelt
  2. Sea of Thieves angespielt Zwischen bärbeißig und böse
  3. Rogue Remastered Assassin's Creed segelt noch mal zum Nordpol

Axel Voss: "Das Leistungsschutzrecht ist nicht die beste Idee"
Axel Voss
"Das Leistungsschutzrecht ist nicht die beste Idee"
  1. Leistungsschutzrecht EU-Ratspräsidentschaft schlägt deutsches Modell vor
  2. Fake News Murdoch fordert von Facebook Sendegebühr für Medien
  3. EU-Urheberrechtsreform Abmahnungen treffen "nur die Dummen"

  1. Re: Wissenschaft lol

    Desertdelphin | 04:00

  2. Re: Warum sind Ports aufs PCB gelötet?

    Sarkastius | 03:59

  3. Re: Jetzt sind Autos endlich leise

    bentol | 03:39

  4. Re: Danke für die Offenlegung

    Neuro-Chef | 03:38

  5. Re: Airbus für mich ein NoGo

    Neuro-Chef | 03:37


  1. 21:26

  2. 19:00

  3. 17:48

  4. 16:29

  5. 16:01

  6. 15:30

  7. 15:15

  8. 15:00


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel