Mozillas Quantum Project ist eine neue Engine für Firefox
Mozilla hat vor wenigen Tagen sein neues Projekt "Quantum" vorgestellt, das darauf abzielt, eine neue, deutlich verbesserte Engine für den Firefox-Browser bereitzustellen. Es wird Gecko-basiert sein und sollte viele Verbesserungen der Leistung von Gecko mit sich bringen, dank erhöhter Parallelität und Parallelität, reduzierte Latenz und bessere Zuverlässigkeit durch die Codesprache Rust und ihre Merkmale.
Quantum ist grob in vier verschiedene Projekte unterteilt.
Das Quantum CSS-Projekt wird die CSS-Engine von Gecko durch die von Servo ersetzen. Servo ist der langfristige Ersatz von Gecko, der auf einer modernen, leistungsstarken und parallelisierten Architektur basiert.
Das Quantum DOM-Projekt wird Gecko reaktionsschneller machen, insbesondere wenn viele Hintergrundregisterkarten geöffnet sind. Wenn Quantum DOM fertig ist, wird JS-Code für verschiedene Registerkarten (und möglicherweise verschiedene Iframes) in separaten kooperativ geplanten Threads ausgeführt; der Code für einige Hintergrundregisterkarten wird überhaupt nicht ausgeführt.
Quantum Compositor verschiebt den Compositor von Gecko in einen eigenen Prozess. Da die Instabilität von Grafiktreibern eine der Hauptursachen für Firefox-Abstürze ist, erwarten wir, dass das Verschieben von Code, der mit der GPU interagiert, in seinen eigenen Prozess Firefox stabiler macht.
Schließlich wird Quantum Rendering das Grafik-Subsystem von Gecko durch das von Servo namens WebRender ersetzen. Servo nutzt die GPU effektiver als Gecko und steuert sie eher wie ein Spiel als ein Webbrowser.
Diese Projekte befinden sich in unterschiedlichen Stadien der Vollständigkeit. Quantum Compositor ist ziemlich weit fortgeschritten, während Quantum Rendering gerade erst beginnt. Bei den Projekten herrscht noch viel Unsicherheit.
Quanten-DOM
Quantum DOM führt den JavaScript-Code für verschiedene Registerkarten in parallelen Threads aus, wodurch die Browserleistung bei vielen geöffneten Registerkarten erhöht werden kann. Um zwischen Threads zu wechseln, wird ein spezieller Scheduler verwendet, um den Kontext reibungslos on-the-fly zu ändern. Viele Verbesserungen werden kommen, um schwere Skripte und Endlosschleifen im Javascript-Code abzufangen.
Quantenfluss
Quantum Flow ist ein Teil des Quantum-Projekts, das sich der erweiterten Optimierung der Browser-Benutzeroberfläche widmet.
Sehen Sie sich das folgende Video an:
Quelle: Bill McCloskeys Blog.