Repository navigation
fix(linux): 修复隐藏窗口标题栏导致的高 CPU 与点击失焦 - #3567
Ultra-Logos wants to merge 1 commit into
Conversation
- 新增 Linux 窗口 channel;showWindowTitleBar=false 时写入 hide_title_bar 标记,runner 启动时跳过 GtkHeaderBar,避免 GTK 与 nativeapi 的 shadow width 在 0/132 之间反复切换
- 设置项切换时同步创建/删除标记文件
- 旧配置首次启动通过 relaxShadow 持续清零阴影 gutter,立即消除高 CPU,下次启动走无 GtkHeaderBar 的正常路径
- 新增 Linux 窗口 channel;showWindowTitleBar=false 时写入 hide_title_bar 标记,runner 启动时跳过 GtkHeaderBar,避免 GTK 与 nativeapi 的 shadow width 在 0/132 之间反复切换 - 设置项切换时同步创建/删除标记文件 - 旧配置首次启动通过 relaxShadow 持续清零阴影 gutter,立即消除高 CPU,下次启动走无 GtkHeaderBar 的正常路径
症状描述环境
复现步骤
实际表现
补充观测:4 秒内 GTK 收到约 444 次 GDK_EXPOSE、296 次 GDK_CONFIGURE、42 次 GDK_MOTION_NOTIFY;但 6 秒内来自 compositor 的 初步定位该问题只出现在“隐藏标题栏”路径:
gdb 断点已确认 已验证的规避/佐证
期望行为关闭“显示窗口标题栏”并重启后:
范围说明目前至少在 KDE Plasma Wayland 上稳定复现;X11 环境尚未验证。问题只在 |
|
同一个 132px gutter,但现象可能不在这个 PR 的范围内,想确认一下。 症状描述环境
复现步骤
实际表现
初步定位看起来 bounds 存的是 frame(含 gutter),恢复时又当 client 用。 已验证的规避/佐证
想确认请你判断这块要不要一起修。需要的话我把完整的 WAYLAND_DEBUG 日志、三次启动的尺寸记录和 KWin 几何整理好补充上来;如果更适合单独跟踪,我就另开一个 issue 并在这里回链,不占用这个 PR 的讨论。谢谢。 |
感谢反馈,这个现象和本 PR 不是同一个问题。 |
|
已在 #3569 跟踪这个尺寸放大问题(附了完整 WAYLAND_DEBUG 和三次启动记录),并引用了 f13e7a2。等 cnativeapi 发布包含该提交的版本后我重新构建实测,有结果会回来反馈。感谢指路! |