KamoCRM

도크는 작곡가에 이동하고, 더 이상 움직이는 창은 내부의 도구를 다시 렌더링합니다

Performancekamo-internal
Shipped
2026년 9월 17일 오후 7:43 UTC
Author
Kamo
Commit
905fba8

모든 것에 대한 팝업 도구 창 그 MOVES - 다시 포장 행, 무역 장소와 스트립 클릭, 뒤에 행을 밟고, 드래그, 솔기 끌어, 복용하고 최대 팬을 떠나 - 레이아웃 패스와 프레임 당 모든 열린 창의 내용의 전체 반응 렌더링 비용. 8개의 창을 가진 선창 마구에서 측정하는 (headless Chrome, 전/후, 3개의 뛰기 각): - 한 스트립 클릭 : 12-14 레이아웃 패스 -> 1, 스크립트 시간 87-104ms -> 44-52ms - 40-move title-bar 드래그 : 168 창의 렌더링 -> 0, 86 강제 레이아웃 읽기 -> 3 - backdrop-filter 층은 실제로 그려집니다: 8의 8 -> 8의 5 (뒤에 서 있는 창만) 모든 창은 동일한 픽셀에서 끝납니다. 모든 전환은 동일한 경로로 이동 프레임 : 도크 -> 플로트, 플로트 -> 데크, 도크 -> 최대화 및 최대화 -> 모든 샘플 동일 endpoints, 동일한 이동 구조 조사 및 가장 큰 단계. 만 픽셀 차이에서 나머지는 독창한 창에 있는 glyph 가장자리에 subpixel antialiasing 단계입니다 - 동일한 위치, 동일 스트로크 무게 (2649 대 2643 잉크 픽셀), 같은 가장자리 에너지 (5.47 대 5.53). 변경 사항: - 도킹 윈도우는 '왼`/`top` 대신 `translate`에 의해 배치됩니다. 다른 세 가지 요법은 `left`/`top`를 유지하고 전혀 번역하지 않고, 손 떨어져는 정확합니다. `left`, `top`, `translate`가 이미 하나의 전환 클럭을 공유하기 때문에 두 개의 램프를 하나에 공유합니다. endpoints 사이 경사로 합계. Deliberately no `will-change` - 그것은 아무것도 샀다 프로브는 세션에 대한 창 당 작곡가 레이어를 볼 수 있습니다. - `relayoutWindows`는 아무것도 이동할 때 SAME 배열을 응답합니다. 항상 같은 창에 응답 그리고 신선한 어레이, 그래서 'store.relayout()'의 15 분의 호출자 중 하나 - 포함 문서에서 모든 DOM mutation이 어디에서나 120ms를 실행하는 scrollbar sync - 재 렌더링 창 목록의 모든 독자. - `useToolWindowsStable()`: 기하학이 무시된 창 목록. 7개의 공구 몸, 세 개의 읽지 않은 다리와 업적 워커 모두 하나의 불린 apiece 및 none에 대해 읽었습니다. 이제 상자를 읽으십시오, 그래서 높이 세탐은 화면의 모든 메시지 목록에서 더 이상 렌더링하지 않습니다. - `useToolWindowActions()`: 호출백, 정체성, 그래서만 파견하는 콜러는 아니다 창 이동에 의해 재 렌더링. - `readViewport()`는 변경할 수 있는 이벤트간의 정확한 측정을 보유하고 있습니다. 더 보기 ToolDock의 렌더링 단계 호출은 드래그 중에 두 번째로 더러운 레이아웃을 6 번 플러싱했습니다. - `DockedToolWindow`와 `ToolWindowBody`: 각 창과 도구에 대한 메모 경계 창의 삶에 한 번 콜백. Memoized `MaximizedTabStrip`, `MaximizedTab`, `ChatNavigatorPanel`, `DockSnapIndicator`, `HexHeadSpring`,`HexHeadPopover` 등. - 스트립 베일의 `backdrop-filter`는 `visibility: hidden`일 때 창이 뒤지지 않습니다. · 분리를 전환, 그래서 fade는 여전히 그려진 층 정지 전에 풀에서 재생합니다. - hexhead throw loop 더 이상 프레임 당 React state를 ticks; the comet trails run their own 애니메이션 프레임과 SVG 속성을 작성, 그래서 던지기는 전체 단계를 다시 렌더링. - 제목 - 바 도착 청소는 주차 off-frame 대신 완료 될 때 세션 및 쉘의 프레임 키 프레임은 memoized - 다섯 가지 지점의 세 반환 keyframe ARRAY, 그래서 교차 녹을 다시 시작 하는 데 사용 된 중간 스왑. `dockRenderCost.test.tsx` pins all of it as counts; Relayout identity case failed on 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