Stoppen Sie jede Szene Re-rastering seine Sprite Bank auf der Größe

Performancekamo-marketing
Verschifft
6. September 2026 um 15:07 UTC
Autor
Kamo
Ausschuss
b0e94d5

Eine Überprüfung aller achtzehn Szenen fand den gleichen Defekt in zwölf von ihnen, und es ist die Form, die eine Registerkarte über ein oder zwei Minuten abbaut und dann stopcht es in Müll Sammlung: "onResize" baute die gesamte sprite Bank auf jeden Anruf, obwohl die Sprites hängen nur von "size.dpr" ab. Canvas Backing Stores leben außerhalb des JS Haufens und werden nur zurückgefordert, wenn ihr Wrapper gesammelt wird, so ist dies echte Churn . Halloween war 10,4 MB und 100 "createRadialGradient" Anrufe pro Anruf, Ostern 706 KB auf 16 Leinwänden, Big Game 7.1 MB. Es wurde an zwei Stellen behoben, weil es zwei getrennte Fehler waren. DAS KIT, wo das meiste herkommt. Vorher meldet sich "resize() rufen "onResize" auf, wenn Breite, Höhe und Dpr unverändert sind. "resize" ist absichtlich verdrahtet, um BOTH ein ResizeObserver auf der Leinwand und der Größe des Fensters Ereignis, so dass jede Szene für seine Sprite Bank zweimal auf eine echte Änderung bezahlt, und wieder zahlen für jede No-Op-Benachrichtigung. Das war der Fehler des Kits, nicht die Szenen'. DER SCENES, für das, was das Kit nicht entfernen kann. Eine echte Höhenveränderung reicht noch "on Resize", und auf iOS die URL-Leiste während eines Scrolls ändert den Blick-Port Höhe immer wieder durch eine einzige Geste. Jede Szene macht jetzt ihre Rasterisierung auf was es tatsächlich abhängt und die Breite/Höhe halb laufen lässt. Zwei Szenen taten dies bereits und waren das Muster, dem der Rest folgte. Die Schlüssel sind nicht einheitlich, absichtlich. Halloween-Schlüssel auf Raster-Skala UND Nebel Band-Zahl, weil die Zählung eine Qualitätsentscheidung ist, die ohne die Skala. Cyber Monday's Single All-or-nothing Wache wurde zu drei Sprites auf dpr, der Scan-Splitter auf dpr und Bandhöhe, das Board auf dem Aussichtshafen Board IS der Ansichtshafen und Einfrieren es auf einer Höheänderung würde es gestreckt verlassen. Thanksgiving stellte sich heraus, dass der Defekt überhaupt nicht mitmachte (seine Blätter werden neu gehadiert Path2D füllt, nicht Sprites, aus Gründen, seine Kopfzeile argumentiert), sondern baute seine Farbtische bedingungslos, und diese sind auf der Palette und nicht auf dpr, weil eine Schnur nicht rasterisiert ist und die Palette das ist, worauf sie angewiesen sind. UND DIE OSTERN EGG-IDENTITY BUG, die die ernstere Entdeckung war Die Ei-Identität wurde aus dem gemessenen Rect gehastet - "qx = round(x/8)", "qy = round(y + scrollY)/4)" auf der dokumentierten Annahme, dass die Seite eines Vorsedens Position ist stabil. Es ist nicht stabil auf dieser Website. globals.css fährt mit "Animation-Timeline: view()" und "reveal-up" interpolates "translateY(28px) zu nichts; die Regalwähler eigenen Elemente sind die animierten, einige verschachtelt, so bis zu 56px von zusammengesetzten Reisen. "getBoundingClientRect()" beinhaltet eine Live- die Elemente der einzelnen Elemente präzise transformieren und "Wiederen" von deren Proben genau in Bewegung sind. Gegen ein 4px-Quanten, das vierzehn Identitäten für eine Karte ist, während sie einscrollt, keines davon passt. Die Liste angeheftet bei MAX_EGGS, seine Art lief jeden Pass statt von nie, nichts wurde gekeult, weil jede Platte auf dem Bildschirm war, und Eier in der Nähe eines Anwendung von zwei 9-Punkten-Regionen pro Frame. Es war auch das genaue Visuelle Ausfall der Datei Design-Kommentar sagt, es verhindert: das Feld kocht. "Shelf" hat einen stabilen "id"-Griff auf dem Element gewonnen, konstant, während dieses Element im Dokument ist und immun gegen jede Transformation. Ostern Schlüssel Eier aus ihm. Identität kommt jetzt aus dem Element und Geometrie aus dem Live rekist, also die Spaltung, die beabsichtigt war; "mint" erfrischt auch x/pageY, ohne die eine stabile Id ein Ei an seiner mittleren Animationsposition eingefroren hätte, ein Käfer die Churn hatte sich versteckt. tsc clean, alle 14 Wachen grün, 187 Routen noch vorgeprädigt.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen