KamoCRM

ドックはコンポジタに移動し、その中のツールを再レンダリングしないウィンドウ

Performancekamo-internal
Shipped
2026年9月17日 19:43 UTC
Author
Kamo
Commit
905fba8

MOVESのポップアップツールウィンドウに関するすべて - 行を再梱包し、ストリップと取引場所 クリックして、背後にある行からステップアウトし、ドラッグ、縫い目を引く、最大化されたペインを服用して残します - レイアウトパスとフレームごとにすべてのオープンウィンドウのコンテンツの完全なReactリレンダーをコストダウンしました。 8つの窓が付いているドックの馬具で測定される(頭のないChromeの前後、3つの操業) それぞれ: - 1つのストリップ クリック: 12-14 レイアウト パス -> 1, スクリプト時間 87-104ms → 44-52ms - 40-moveタイトルバーのドラッグ: 168 ウィンドウのリレンダーのコンテンツ -> 0, および 86 強制レイアウトの読み込み → 3 - バックドロップフィルタのレイヤーは、実際にペイント: 8 の → 5 の 8 (後ろに立っているウィンドウのみ) すべてのウィンドウは同じピクセルで終了し、すべての遷移は同じパスを移動します フレーム:ドック->float、浮遊物->dock、ドック->maximizedおよび最大にされた->dockすべてのサンプルされた同一 エンドポイント、同一の移動フレーム数と同一の最大のステップ。 ピクセルの差のみで 残りはドックされた窓のglyphの端のsubpixelの反aliasing段階です-同じ位置、同じ ストローク重量(2649対2643インクピクセル)、同じエッジエネルギー(5.47対5.53)。 変更内容: - ドッキングされたウィンドウは `left`/`top` の代わりに `translate` で、ホバーリフトが折り畳まれています。 一方の3つのレジムは `左`/`上` を維持し、全く翻訳しず、ハンドオフは正確です すべての `left`、`top` と `translate` は既に 1 つのトランジション クロックを 1 つに 2 つの ramps を共有しているためです。 終点間のランプへのカーブの合計。 意図的に「欲望の変化」なし - それは何も買った プローブは、セッションのウィンドウごとにコンポジターレイヤーを表示し、コストを削減できます。 - `relayoutWindows` は、何も動かさないと、SAME 配列に応答します。 いつも同じウィンドウに答えました そして、新しい配列なので、`store.relayout()` の 15 odd の発信者全員が - を含む ドキュメント内のどこからでも DOM のミューテーションの後、120ms を実行しているスクロールバー同期 - 再レンダリング ウィンドウリストのすべての読者。 - `useToolWindowsStable()`: ジオメトリを無視したウィンドウリスト。 7つのツールボディ、 3つの未読の橋および達成のwatcherはすべて1つのブールのapieceおよびどれが持っていますのためにそれを読んで下さい ボックスを読んだので、ハイスパムドラッグは画面上のすべてのメッセージリストを再レンダーしません。 - `useToolWindowActions()`: コールバック, アイデンティティによって、ディスパッチだけを発信する発信者ではない ウィンドウの移動によって再レンダリングされる。 - `readViewport()` は、変更できるイベント間での適切なエッジ測定を保持します。 ザ・オブ・ザ・ ToolDockのレンダーフェーズ呼び出しは、ドラッグ中に6回分の汚れたレイアウトをフラッシュしました。 - `DockedToolWindow`と`ToolWindowBody`:すべてのウィンドウとツールごとのメモ境界 ウィンドウの寿命を一度に渡るコールバック。 Memoized `MaximizedTabStrip`、`MaximizedTab`、 `ChatNavigatorPanel`、`DockSnapIndicator`、`HexHeadSpring`、`HexHeadPopover` も。 - ストリップベールの `backdrop-filter` は `visibility: hidden` です。 それは、 変質的にトランジションを行うので、フェードは塗りつぶされる前に十分に再生されます。 - hexhead のスロー ループはフレームごとの React の状態をかちりとしません; 彗星のトレイルは自分自身を実行します アニメーションフレームとSVG属性を記述するので、スローはステージ全体を再レンダリングを停止します。 - タイトルバー到着スイープは、駐車オフフレームの代わりに終了したときにそれ自体がダウンします セッションとシェルのフレームキーフレームがメモされます - 5つのブランチの3つは、 キーフレームARRAYは、クロス・ディスゾールを再起動するために使用されるリレンダー・ミッド・スワップです。 `dockRenderCost.test.tsx` は、その全てをカウントします。 リレーアウト ID ケースは 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