Chrome: Verbesserungen der Rendering-Pipeline sorgen für schneller geladene Webseiten und Ressourcen-Einsparungen
Im Umgang mit Web-Browsern ist im Grunde jedem Anwender daran gelegen, dass angesteuerte Webseiten und deren Inhalte so schnell wie möglich geladen und damit einsatzbereit sind. Da es mittlerweile zahlreiche verschiedene Browser für alle Plattformen gibt, müssen sich deren Entwickler schon einiges einfallen lassen, damit sie sich gegen die Konkurrenz behaupten können. Einer der am meisten verwendeten Browser ist und bleibt Googles Chrome.
Nun verkündet das Entwicklerteam dahinter, dass man zuletzt umfangreiche Verbesserungen in der Rendering-Pipeline von Chrome vorgenommen habe, um dafür zu sorgen, dass anfallende Berechnungs-Aufgaben wesentlich flotter und doch Ressourcen-sparender vorgenommen werden können.
Allein bei der Änderung eines kleines Bereichs im Bildschirm muss die Engine im Hintergrund zahlreiche Vorgänge nacheinander abarbeiten, um den neu zu generierenden Inhalt zu erstellen und ins Bild zu zeichnen – das alles allerdings binnen 16 Millisekunden. Das sei notwendig, um den Prozess weiterhin in angenehmen 60 Frames pro Sekunde darstellen zu können.
„For example, when Chrome is preparing to paint pixels to the screen, it must first identify which elements on the page need to be redrawn and which can be copied from the previous frame’s cache. On highly dynamic pages with frequent DOM changes, this performance cost can add up quickly. To simplify this task, Chrome now tracks the draw commands generated for each element and can identify visually non-overlapping subsets. If one of these subsets hasn’t been modified, the entire block can be copied directly from the cache without any additional work. This optimization reduces the time it takes to paint a new frame to the screen by up to 35%.“
Außerdem werden die Bildschirminhalte bei Chrome von der Engine in Kacheln unterteilt, um schneller kleinere Bereiche ausfindig machen zu können, in denen sich etwas geändert hat. Die entsprechende Kachel (Tile) wird dann neu erstellt, was allerdings nur dann sinnvoll ist, wenn sich innerhalb dieser recht viel Inhalt geändert hat.
Trifft es dagegen nur einen sehr kleinen Bereich (siehe obiges GIF: Der Cursor im Eingabefeld), so kann Chrome diesen nun stattdessen Pixel für Pixel neu zeichnen. Das spart Ressourcen und geht noch schneller als zuvor – knapp 40% soll das ausmachen.
Ebenso soll Chrome nun auch auf allen Plattformen die GPU für noch mehr Aufgaben im Bereich des Seiten-Renderings verwenden können. Dies verbessere sowohl Animations-Geschwindigkeiten, die allgemeine Eingabeverzögerung und viele weitere Vorgänge.
Ist das alles bereits in der aktuellen Version (Chrome 56) vorhanden oder erst in Planung/Alpha?
Das steht in diesen Marketingartikeln von Google immer nicht. Genauso wenig wie dass die Technik unter Windows nicht funktioniert, das erfährt man erst auf der verlinkten Seite von Intel.
Ist diese neue Verbesserung bereits in der aktuellen Chrome-Version implentiert oder erst in den nächsten Beta-Versionen?
Ist das bereits live oder kommt das noch?
Tja, das „wann“ fehlt irgendwie, ansonsten ist es nur eine nette Wunschliste.
Das ist ziemlich sicher schon länger implementiert. Die Beschreibung der One-Copy Textures von Intel ist bereits von Anfang März 2016.
Laut einer anderen Seite soll das ab Chrome 56 sein, also in der aktuellen Beta.
Habe die aktuelle Beta drauf und ja, der Browser ist in der Tat ein wenig schneller geworden. In der Stable war er dagegen etwas „langsamer“.