بنقرة واحدة
performance-invariants
做渲染/滚动/输出性能优化,或需要判断"正确性 vs 流畅 vs 可读性"取舍时使用。覆盖脏行渲染、缓存层、合并、render loop 禁忌。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
做渲染/滚动/输出性能优化,或需要判断"正确性 vs 流畅 vs 可读性"取舍时使用。覆盖脏行渲染、缓存层、合并、render loop 禁忌。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
改动 PTY 会话、libghostty-vt 桥接、终端输入、OSC/HTML 适配时使用。覆盖终端状态唯一真相源、会话协议、输出合并与输入路径。
改动 ProGhostty 渲染层(Metal 直渲 / cell-grid 回退 / 滚动 / 脏行)时使用。覆盖三层降级梯、不可变快照契约、像素滚动路径与渲染边界。
改动工作区、分屏树、pane 生命周期、App 层协调 (AppModel)、或 App↔Core 分层时使用。覆盖唯一 owner、值类型分屏树与分层边界。
| name | performance-invariants |
| description | 做渲染/滚动/输出性能优化,或需要判断"正确性 vs 流畅 vs 可读性"取舍时使用。覆盖脏行渲染、缓存层、合并、render loop 禁忌。 |
优化性能、动热路径(渲染 / 滚动 / 输出)前读本文件。
正确性 > 流畅 > 可读性
含义:宁可代码复杂一点,也绝不每帧 rebuild 或重绘整屏。但正确性(尤其 alternate-screen / TUI)永远压过滚动动画的顺滑。
GhosttyTerminalFrame),不共享可变状态。NSAttributedString。已在位(docs/architecture/rendering-path-and-optimization-plan.md):
SmoothScrollEngine + SmoothScrollBrowseResolver + presentBrowseWindow(rows(at:),VT 不动);亚行余量 viewport.visualOffsetY。PaneScrollController(PaneScrollCoordinator 像素余量 + ScrollCommitCoordinator ~120Hz 行提交)。CellGridDirtyTracker — 算脏行 + 脏 cell 范围。MetalGlyphAtlas — 缓存渲染后的字形图。MetalDirectRenderEngine — 按字形 atlas entry id + generation 缓存 Metal 纹理。StyleStatsCache — 跳过未变行的样式统计重扫。ResizeSensitivityCache — 除非缓存键变,不重扫光标下方所有行。TerminalOutputCoordinator + TerminalOutputBatchCoordinator — 输出快照/字节两级合并,共 8ms 预算。加优化前先确认想要的缓存是否已存在——主路径问题多在 rows(at:)/display-link 呈现;fallback 问题多在行提交帧。
overscanTop.cells + viewport.cells + overscanBottom.cells 在多处重复构建,滚动时加 CPU 压力。frame()/scrollFrame() 跨 bridge 锁把 cells 拷成 Swift 值。MetalDirectRenderEngine.shouldWaitForCommandCompletion 在首帧/纹理 resize/全量重绘/光标行脏/overlay 存在等条件下等命令完成,可能造成滚动尖刺。MetalDirectRendererBackend.scrollFrameFullSceneRebuildReason 在形状/维度/overscan 变化时强制全脏——保守但别无谓触发。docs/architecture/rendering-path-and-optimization-plan.md(renderer 性能工作要求先更文档再对齐实现)。docs/architecture/rendering-path-and-optimization-plan.md(权威,含全部层 + 已知重点 + 工作假设)、docs/renderer-scrolling.md、docs/renderer-overscan-research.md。计时测试:TerminalRendererBackendTests、TerminalResizeCoordinatorTests(burst/coalescing 相关)。