Skip to content

[perf-D2] 优化 macOS Git 提交图的绘制表面 #492

Description

@1lck

父任务

#467 macOS 交互帧预算:声明式 UI 热路径与可调节表面

依赖

  • 依赖 perf-0、perf-D1。
  • 只有在 perf-T1/T2 后基线仍证明 Git 图是瓶颈时进入实施。

不变量

Git 图滚动或无关 AppModel 状态变化时,只重绘可见且发生变化的区域;不能让整棵提交图的 SwiftUI Canvas 行重复构建。

当前基线

当前已有 LazyVStack、行级 Equatable 和每行 Canvas。此 Issue 不重复做这些已完成的局部优化,而是评估更稳定的单视图绘制/脏矩形方案。

范围

  • 使用已提交的 Git 图 fixture 和性能基线比较 1,000 / 5,000 commits。
  • 根据 Instruments 数据决定继续优化 SwiftUI,或改成单个保留式 AppKit 绘制视图。
  • 保留节点、合并线、分支颜色、选中态、滚动和无效 parent 提示。

明确不改

  • 不改 Git graph layout 算法的协议语义。
  • 不将所有 Git 工具窗统一改成 AppKit。
  • 没有数据证明前不启动 GPU/视口编辑器重写。

验收

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GitSomething related to Gitmacossomething related to macos strongly

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions