Teilen Sie die Werkzeugfenster aus der Schale, stoppen Sie den Leerlauf Timer Sturm

Performancekamo-internal
Verschifft
26. August 2026 um 01:16 UTC
Autor
kamo
Ausschuss
40d24fc

Batch 2 des kundenseitigen Leistungsaudits. Wie bei Charge 1, nichts ein Mitglied kann sehen oder Änderungen vornehmen. Die Werkzeugregistrierung importierte alle zehn Werkzeugfenster eifrig, und ToolProvider montieren die Registrierung in AuthedChrome bedingungslos - also der Komponentenbaum jedes Fensters saß in der Wurzelschale aller 143 Routen für Fenster der Dock eigenen Kommentar sagt starten leer. Gemessen mit esbuild gegen nur die Anbieter-Bibliotheken, die dies in gezogen: Reue-Markdown + Bemerkung-gfm + Bemerkung-Mathe + rehype-katex + rehype-highlight (die KI chat bubble) ist 610 KB min / 182 KB gzip, css-tree + dompurify (die Nachrichtenvorlage editor) ist 226 KB / 66 KB, und Quill ist 205 KB / 60 KB . 1,016 KB minified / 301 KB gzip von Herstellercode allein, mit den Werkzeugkomponenten selbst an der Spitze. Alles war während der Hydratation auf jeder Seitenlast heruntergeladen, geparst und ausgeführt. Zwei Dinge halten das unsichtbar. Die Felder von Ikone bleiben eifrig, weil ToolWindowsContext liest sie synchron aus, um den Hexhead eines minimierten Fensters wieder einzuschleusen und prüft ToolPlattform auf Wahrhaftigkeit, bevor ein Fenster überhaupt geöffnet wird. Faule Ikone verwandelt beide in stille Ausfälle, die die genaue Klasse von "es nicht knallen ist up" Bug dieses Dock hatte zuvor. Und die Brocken werden eher erwärmt als gewartet: ToolDock preloads alle zehn auf Leerlauf nach der ersten Farbe, so dass ein Klick nie wartet auf eine fetch, und ToolWindowRestore preloads genau die Werkzeuge seine Schnappschuss-Namen vor Wiedergabe, so dass ein restauriertes Fenster nie malt Chrom um einen leeren Körper. DateTimeDisplay bewaffnet ein 1 Hz-Intervall pro Instanz ohne Tor, und baute seine Acht-Timezone-Tooltip - mit einem Formatierer pro Zeile - im Render-Körper, ob oder nicht der Tooltip war offen. On /leads, die 60 Instanzen sind: 60 Zeiter, 60 React Commits pro zweitens, und ein paar hundert Millisekunden pro Sekunde von Intl Arbeit auf einem Gitter niemand ist Berührend. Die Zecke ist jetzt gated auf "isOpen || isHovered ||Format === 'relative'", das ist genau, wo ein Live-Wert gemacht wird: die Tooltip-Header, das Etikett während schwebte (es tauscht sich auf eine Sekunde Auflösung Zähler), und eine relative Anzeige, die zu haben ist Erfrischen Sie sich. Es überspringt auch die Übergabe, während die Registerkarte versteckt ist, und liest die Uhr, wenn das Tor öffnet - ohne diese Aufholjagd würde der erste schwebete Rahmen zeigen ein Alter gemessen aus, wenn die Zecke zuletzt lief. Der Tooltip ist jetzt eine Funktion, also ist es wird nur gebaut, wenn es geöffnet ist. Die drei Formatierer werden pro Zeitzone zwischengezwischentöpf. NavHighlightContext trug die schwebende ID und ihren Setter in einem Wert, so dass jeder pointer geben und verlassen Sie jeden Verbraucher erneut gerendert - einschließlich app/page.tsx, die 851-line-Trägerklappe, die immer nur den Setter ruft und nie die ID liest. Fegen Über ein Zwölf-Kachel-Raster ist 24 Veranstaltungen, so dass war 24 volle Re-Rendern der launchpad und jedes Live-Widget darauf. Aufgeteilt in zwei Kontexte: Der Setter ist stabil durch useState Vertrag so Schriftsteller nie wieder zu stornieren, und nur die Option Wrapper, dass das Highlight noch zu zeichnen, die die id abonnieren. Bewusst NICHT enthalten: Verschieben von zwei Stylesheets von ag-grid aus globals.css. Es ist der größte Render-Blocking-Gewinn im Audit (187 KB im <head" von jedem route, einschließlich /validate und /logout), aber es kehrt die Kaskade um - ag-grid's CSS derzeit lädt VOR Tailwind Preflight und würde danach laden, nachdem es Überprüfung, dass Kosten nichts Sichtbares braucht einen Browser auf /bles, /commerce und /settings/member/[id]. Links für jemanden, der es anschauen kann. Verifiziert: tsc --noEmit sauber; alle 8 Wachskripte bestehen; 422 Tests über das nist, Seite, Tools, Chat und Zeitsuiten passieren, und die vollständige Suite ist grün, außer für eine Test, der zur Arbeit einer anderen Sitzung an Bord gehört.

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