Mozilla: Azure macht Firefox deutlich schneller

Bis Ende des zweiten Quartals 2011 wollen die Mozilla-Entwickler das Azure-API für Direct2D fertigstellen, schreibt Bas Schouten(öffnet im neuen Fenster) . Er hat große Teile des APIs implementiert und eine Version von Canvas2D auf Basis von Azur umgesetzt. Diese hat zwar noch einige Fehler und ist nicht auf Leistung optimiert, lässt aber bereits erste Benchmarks zu.
Die Tests zeigen, dass der Ansatz hinter Azure Firefox deutlich beschleunigen kann. Nicht in allen Situationen läuft die Azure-Variante schneller als die im aktuellen Firefox eingesetzte Implementierung auf Basis von Cairo. In einigen Fällen ist die Canvas2D auf Basis von Azure aber um ein Vielfaches schneller als die Cairo-Implementierung.
Den größten Unterschied konnte Schouten in Microsofts Fish-Bowl-Demo(öffnet im neuen Fenster) mit 1.500 Fischen messen. Die Framerate stieg von knapp 2 Frames pro Sekunde auf über 30. In einigen Demos bringt Azure derzeit allerdings kaum einen Geschwindigkeitsvorteil und in einigen Situationen ist die neue Version sogar langsamer. Das, so Schouten, sei aber dem aktuellen Entwicklungsstand geschuldet und werde sich mit einigen Performance-Optimierungen vermutlich noch ändern.
Azure statt Cairo
Das neue Grafik-API Azure arbeitet zustandslos und orientiert sich an Microsofts Direct2D. Azure spart einige unnötige Umwandlungen, was den Ressourcenbedarf senkt und zugleich für mehr Geschwindigkeit sorgt.
Verschiedene Backends sollen Azure die Zusammenarbeit mit unterschiedlichen Betriebssystemen, Hardwareplattformen und Treibern ermöglichen. Sollten keine nativen Backends zur Verfügung stehen, kommt wie bisher Cairo zum Einsatz, um Webseiten zu zeichnen.
Auch Mac OS X soll von Azure profitieren, da auch hier unnötige Umwandlungen wegfallen, die derzeit beim Austausch zwischen Cairo und Quartz, der Grafikschnittstelle von Mac OS X, notwendig sind.
Azure testen
Interessierte können die aktuelle Azur-Implementierung mit einem speziellen Firefox-Build testen, den Bas Schouten zum Download bereitstellt(öffnet im neuen Fenster) . Das setzt allerdings ein System mit Direct2D-Unterstützung voraus. Über "gfx.canvas.azure.enabled" unter about:config kann dabei die Verwendung von Azur aktiviert und deaktiviert werden. Die Ergebnisse dieses Builds sind allerdings nicht mit normalen Firefox-Versionen vergleichbar, da hier einige Optimierungen fehlen.
Im nächsten Schritt wollen die Mozilla-Entwickler die vorhandenen Fehler in Azure beseitigen, um AzureD2D möglichst bald auszuliefern. Angesichts der Versionsnummer von Schoutens Spezial-Build könnte dies mit Firefox 7 der Fall sein. Danach soll eine Azure-Implementierung für Quartz folgen, um Firefox auch unter Mac OS X schneller zu machen. Danach soll ein Backend entwickelt werden, das GPU-beschleunigtes Rendern von Vektorgrafiken via OpenGL und verschiedene Direct3D-Versionen unterstützt. Dadurch soll das Rendering dann auf allen Plattformen beschleunigt werden, auch unter Linux. Letztendlich sei denkbar, das gesamte Rendering des Browsers und nicht nur der Canvas-Elemente über Azur abzuwickeln, so Schouten. Das könnte den Browser dann weiter beschleunigen.