KamoCRM

Dok porusza się na kompozytie, a okno, które się przesuwa, nie przewrzyca już ponownie narzędzie w nim

Performancekamo-internal
Shipped
17 września 2026 19:43 UTC
Author
Kamo
Commit
905fba8

Wszystko o wyskakującym oknie narzędzia, które MOVES - przepakowywanie wiersza, wymiana miejsc z paskiem Kliknięcie, wychodzenie z rzędu za sobą, przeciągnięcie, szycie szew, zabranie i pozostawienie maksymalcowanego okienka - Kosztował przepustkę układową i pełne React re-render z każdej zawartości otwartego okna na ramkę. Mierzone w wiązce dokującej z ośmioma oknami otwartymi (bezgłowopiowy Chrome, przed/po, trzy biegi Po co): - jedno kliknięcie paska: 12-14 przepustki układowe -> 1, czas skryptowy 87-104ms -> 44-52ms - 40-move title-bar drag: 168 powtórzeń okna CONTENTS -> 0, i 86 wymuszonego układu odczytów -> 3 - warstwy filtra tła faktycznie pomalowane: 8 z 8 -> 5 z 8 (tylko okna stojące za nim) Każde okno kończy się tym samym pikselem, a każde przejście przechodzi tę samą ścieżkę przez to samo Ramy: dock->float, float->dock, dock->maxializowane i maksymalizowane->dock wszystkie próbki identyczne Punkty końcowe, identyczna liczba ruchomych ramek i identyczny największy krok. Jedyna różnica w pikselu w Odpoczynek jest subpikselową fazą antyaliasingową na krawędziach glif w dokowanych oknach - te same pozycje, takie same Masa skokowa (2649 vs 2643 piksele atramentowe), ta sama wysokość (5,47 vs 5.53). Co się zmieniło: - Zadokowane okno jest umieszczane przez "translatywne" zamiast "lift", z unoszącą się podnoszeniem unoszącą. Pozostałe trzy reżimy utrzymują „lewicową” i nie ma żadnego tłumaczenia, a przekazanie jest dokładne Ponieważ wszystkie „lewicowe”, „top” i „translatyw” dzielą już jeden zegar przejściowy: dwie rampy na jednej Zakrętuje sumę rampy między punktami końcowymi. Celowo nie „wolatę-zmiana” – nic nie kupił Każda sonda może zobaczyć i kosztować warstwę kompozytora na okno sesji. - "przekaźnika systemu Windows" odpowiada tablicy SAME, gdy nic się nie porusza. Zawsze odpowiadał na te same okna i świeża tablica, więc każdy z piętnastu nieoddobrzwionych rozmówców "store.relayout()" - w tym Syncjowanie przewijania, który działa 120ms po jakiejkolwiek mutacji DOM w dowolnym miejscu w dokumencie - ponownie powtórzone Każdy czytelnik listy okien. - "useTool WindowsStable()": lista okien z ignorowaną geometrią. Siedem korpusów narzędziowych, Trzy nieprzeczytane mosty i obserwator osiągnięć przeczytaj go dla jednego booleanu i żaden nie ma Nigdy nie przeczytaj pudełka, więc przeciąganie wysokości nie zmienia już każdej listy wiadomości na ekranie. - "useToolWindowActions()": oddzwonienia, według tożsamości, więc dzwoniący, że tylko depesze nie są Renderowany przez okno ruchome. - "readViewport()" posiada właściwy pomiar między zdarzeniami, które mogą go zmienić. W tym, że w tym, pocytowani w zd posąbietni, ws. w tym, że w tym w tym, że w tym w, pow. w tym, że w tym, że w tym, w tym, że w tym Wywołanie render-fazy w ToolDock płukało brudny układ sześćdziesiąt razy sekundę podczas przeciągania. - "DockedToolWindow" i "ToolWindowBody": granica notatka na okno i narzędzie, z każdym Oddzwonienie raz w życie okna. Zapasowy "MaximizedTabStrip", "maksymalizowanyTab", "ChatNavigatorPanel", "DockSnapIndicator", "HexHeadSpring" i "HexHeadPopover". - Pasek veil's 'backdrop-filter' jest "widoczność: ukryty", gdy okno nie jest za nim. To Przejścia dyskretnie, więc blaknięcie nadal gra w pełni, zanim warstwa przestanie być malowana. - pętla wywrotowa hexhead nie tyka już stan React na ramę; szlaki komety biegną samodzielnie Klatka animacji i napisanie atrybutów SVG, więc rzut przestaje ponownie renderować całą scenę. - Tytułowe przybycie paska zabiera się w dół, gdy kończy, zamiast parkowania poza ramą dla Sesja i ramki ramki ramki powłoki są notyfikowane - trzy z pięciu gałęzi powracają Klatka klucza ARRAY, więc ponownie oddała w połowie wymiany używane do ponownego rozpuszczenia krzyżowego. "dockRenderCost.test.tsx" pinsuje to wszystko w miarę liczenia; przypadek tożsamości przekaźnikowej nie powiedzia sobie na HEAD.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing