Browser: Firefox 4 Beta 7 mit Jägermonkey dreimal schneller

Größte Änderung der Beta 7 von Firefox 4 ist die Integration von Jägermonkey. Dabei wurde die Javascript-Engine Spidermonkey um den JIT-Compiler Jägermonkey ergänzt. Der Just-In-Time-Compiler springt ein, wenn Firefox das noch schnellere Tracing nicht einsetzen kann. Bislang fiel Firefox dann auf seinen alten Javascript-Interpreter zurück, der deutlich langsamer arbeitet.
Wann immer Tracing schneller ist, soll es weiterhin zum Einsatz kommen. Ist das nicht der Fall, soll Jägermonkey die in nativen Maschinencode übersetzten Methoden verwenden. Wird das korrekt umgesetzt, sollte Firefox in den Benchmarks am Ende wieder schneller sein als die Konkurrenz.









Firefox soll dabei in verschiedener Hinsicht von der neuen Javascript-Engine profitieren, schließlich sind immer mehr Bestandteile des Browsers selbst in Javascript umgesetzt. So soll der Browser schneller starten, Seiten schneller laden und zudem Webapplikationen schneller werden.
Jägermonkey umfasst rund 23.000 Codezeilen, übersetzt komplette Methoden und läuft auf x86-, x64- und ARM-Prozessoren. Der aktuelle Stand bietet dabei noch Optimierungspotenzial, so dass die stabile Version des Browsers wohl noch etwas schneller wird. Vor allem Funktionsaufrufe sollen noch beschleunigt werden, wovon jede etwas größere Javascript-Applikation profitieren soll.
Im Benchmark Sunspider 0.9.1 ist die Beta 7 von Firefox 4 rund dreimal schneller als die aktuelle stabile Version Firefox 3.6.12. In unseren Messungen liegt Firefox 4 mit rund 290 ms aber auch in der aktuellen Beta noch knapp hinter der aktuellen stabilen Version von Opera 10.6, die den Benchmark auf unserem Testsystem unter Windows 7 in rund 275 ms absolviert.
Deutlicher ist der Abstand in Google Benchmark V8: Auch hier ist Firefox 4 Beta 7 laut Mozilla rund dreimal schneller als Firefox 3.6.12, kommt aber auf unserem Testsystem nur auf rund 2.400 Punkte, während Opera 10.6.3 rund 3.500 Punkte erreicht.
In Mozillas eigenem Benchmark Kraken liegt Firefox 4 Beta 7 hingegen deutlich vor Opera 10.6: Benötigt Firefox rund 7.330 ms für den Benchmark, sind es bei Opera 12.500 ms.
Hardwarebeschleunigung erweitert
Die Hardwarebeschleunigung wurde in der aktuellen Beta erweitert und auch das Compositing, also das Zusammensetzen einzelner Schichten einer Website, in die GPU verlagert. Dies soll vor allem die Darstellung von Webseiten mit vielen Grafikanimationen und das Scrollen beschleunigen. Auch die Darstellung von HTML5-Videos wird nun beschleunigt.

Unter Windows, einschließlich Windows XP, wird dies per Direct X abgewickelt. Unter Mac OS X setzt Mozilla auf OpenGL. Für Linux ist die Hardwarebeschleunigung bislang nicht verfügbar.
Unter Windows Vista und 7 wird zudem Direct 2D verwendet, um das Rendern von Webseiten per GPU zu beschleunigen. In der Beta 7 wurden hier einige Fehler beseitigt. So wird die Funktion nicht benutzt, wenn GPUs oder Treiber verwendet werden, die bekanntermaßen Probleme bereiten. Ob auf den eigenen Systemen die Hardwarebeschleunigung aktiviert ist, kann unter about:support nachgesehen werden, wie Mozilla-Entwickler Joe Drew erläutert(öffnet im neuen Fenster) .

WebGL freigeschaltet
Zur Darstellung hardwarebeschleunigter 3D-Grafik im Browser unterstützt Firefox 4 Beta 7 nun standardmäßig WebGL. Das setzt derzeit eine Grafikkarte mit OpenGL-Treibern und Windows sowie Mac OS X voraus. Die Unterstützung von Grafikkarten wollen die Mozilla-Entwickler noch erweitern, insbesondere was Intels GPUs anbelangt. In den kommenden Betaversionen soll WebGL zudem auch unter Linux unterstützt werden.
Mehr Schriften dank Opentype
In Sachen Fonts wurde Firefox um Unterstützung des Schriftartenformats Opentype erweitert, so dass Webentwickler nun auch Opentype-Fonts in ihre Applikationen einbinden und durch die Steuerung von Ligatur und Kerning, die Nutzung alternativer Zeichen sowie kleiner und großer Varianten verschiedene Effekte erzeugen können. Dazu unterstützt die Beta 7 neue CSS-Eigenschaften. Details dazu erläutert John Daggett(öffnet im neuen Fenster) in einem Blogeintrag.









HTML5 Formulare
Erweitert wurde auch die Unterstützung von HTML5-Formularen. Die Firefox 4 Beta 7 unterstützt hier Auto-Complete und Formularvalidierung. Damit lassen sich Eingaben clientseitig auf bestimmte Muster prüfen, ohne dass Entwickler dies selbst in Javascript umsetzen müssen. So achtet der Browser selbst darauf, dass Pflichtfelder ausgefüllt werden, E-Mail-Adressen der Spezifikation entsprechen oder andere vorgebene Muster für Eingaben eingehalten werden. Per CSS3 kann der Status von Eingaben optisch umgesetzt werden. Details dazu erläutert Mozilla-Entwickler Mounir Lamouri(öffnet im neuen Fenster) in einem Blogeintrag.
Die Beta 7 von Firefox 4 steht ab sofort für Windows, Linux und Mac OS X unter mozilla.com/firefox/beta(öffnet im neuen Fenster) zum Download bereit.