Süße Chrome-Erweiterungen, die deinen Browser nicht ausbremsen
Dekorative Browser-Erweiterungen haben einen Ruf, und der ist größtenteils verdient: schwer, gesprächig, installiert mit einer Berechtigungsliste, die niemand gelesen hat. Schade, denn die Kategorie macht wirklich Spaß, und jedes dieser Probleme ist vermeidbar.
Drei Dinge, die sich zu prüfen lohnen
- Die Berechtigungsliste. Chrome zeigt sie vor der Installation. Storage ist eine Einstellungsdatei. Tabs, Cookies, History und webRequest sind die, mit denen eine Erweiterung beobachten kann, was du im Netz tust.
- Ob sie das Layout deiner Seite anfasst. Eine Erweiterung, die Elemente in den Dokumentfluss einfügt oder bei jedem Scroll-Ereignis Positionen von Elementen ausmisst, kann eine flüssige Seite ruckeln lassen — ganz gleich, wie wenig sie zeichnet.
- Wohin sie Anfragen schickt. Eine Dekoration mit einem vollen Netzwerk-Tab erledigt einen zweiten Auftrag, von dem dir niemand erzählt hat.
Warum das Layout am meisten weh tut
Eine Layout-Eigenschaft zu lesen — die Höhe eines Elements, seine Position auf dem Bildschirm — zwingt den Browser, alle offene Layout-Arbeit zu beenden, bevor er antworten kann. Mach das in einem Scroll-Handler, und du hast den Browser gebeten, sechzig Mal pro Sekunde anzuhalten und zu messen, auf einer Seite, die er halb gezeichnet hatte.
Das ist der Mechanismus hinter den meisten Klagen über „diese Erweiterung macht das Scrollen langsam“, und er bleibt unsichtbar, bis jemand ein Profil erstellt. Die Lösung ist unspektakulär: beim Scrollen niemals Layout lesen, nur Transforms schreiben, und den Compositor bewegen lassen.
Wie das hier aussieht
scrolldog ist ein kleines Pixel-Haustier, das am Rand jeder Seite in deinem Scrolltempo mitläuft. Es ist außerdem ein durchgerechnetes Beispiel für die Prüfungen oben, weil es sie bestehen musste, um erträglich zu sein:
- Zwei Berechtigungen: storage und unlimitedStorage. Keine Tabs, keine Cookies, keine History, kein webRequest.
- Eine Host-Berechtigung — api.scroll.dog — für die Prüfung der Lizenz, nie um die Seite anzufassen, auf der du bist.
- Das Tier lebt in einer festen Spur der Größe null und schreibt ausschließlich eine CSS-Transform, sodass sich das Layout deiner Seite nie ändert.
- Auf Scrollen wird passiv gehört, zusammengefasst zu einem Schreibvorgang pro Animationsbild.
- Ein Schalter entfernt es sofort aus jedem offenen Tab.
Nichts davon ist Angeberei — es ist das Minimum. Ein Ding, dessen ganze Aufgabe es ist, schön auszusehen, hat nichts damit zu schaffen, etwas langsamer zu machen.
Zum Hund