dsh-perf-boost:DSH 桌面端渲染进程性能优化

前言

DeepSeek Harness(DSH)桌面端在长会话、多消息场景下,DOM 体量和合成成本会拉高主线程占用,滚动与动画帧时随之变差。常见做法是手动关特效或换更轻的浏览器,但 DSH 的界面跑在 Electron 渲染进程里,宿主侧很难按会话粒度做优化。

下面介绍社区插件 dsh-perf-boost(维护者 AlLHHH,分类:客户端)。它只在当前渲染进程里做列表省渲染、rAF/定时器节流、媒体懒加载等改动,不改宿主代码、不落盘业务配置;适合已经在用 DSH 桌面端、会话经常拉到上万条事件的开发者按需开关。

这是什么

dsh-perf-boost 是 DSH 桌面端的客户端渲染优化插件,README 写明「全部改动只发生在渲染进程」。配置保存在浏览器侧 localStorage['dsh-perf-boost:cfg'],设置入口为 设置 → 性能优化。

兼容要求(资料原文):engines.dsh >= 0.2.0-0,实测 0.2.1-rc.2(桌面版 0.2.1.0);peer @deepseek-ai/cordis ^4.0.1,实测 4.0.5。当前 npm 包版本为 0.1.0,许可证 MIT。

插件以当前 DSH 进程权限运行;安装前请自行查看 GitHub 仓库 源码与许可证。社区目录页:skillhub.cn/plugins/AlLHHH/dsh-perf-boost(独立站点,与 DeepSeek / 幻方无官方从属关系)。

核心功能

README 按开关列出九项能力。前六项默认开启,对观感无可见影响;后三项默认关闭,会改变视觉或显示调试信息。不提供预设档位。

默认开启(通常无视觉变化)

开关 作用(摘要)
长对话省渲染 列表子项加 content-visibility: auto,占位高度取列表实测平均子项高度;末尾 4 项与正在流式输出的消息不处理,超过 300px 的代码块跳过
窗口隐藏不排帧 页面不可见时 schedule() 直接返回;切回时有 visibilitychange 恢复,每秒看门狗兜底
空闲降帧 20 秒无输入将 rAF 驱动动画降到 30fps,有输入立即恢复
媒体懒加载 图片 loading=lazy、decoding=async,视频 preload=metadata
后台暂停定时器 页面不可见时跳过 setInterval 回调,不销毁周期;回前台各补跳一次
视口外暂停视频 仅静音视频:滚出视口暂停解码,滚回续播

默认关闭(按需打开)

开关 视觉影响 作用
关闭背景模糊 有 全局 backdrop-filter: none,浮层由磨砂改为纯色底
减少动画 有 动画与过渡时长置 0.001ms
帧率角标 有 右下角显示 NN fps

实现说明(资料原文):requestAnimationFrame 仅在启用「窗口隐藏不排帧」或「空闲降帧」时接管,否则保持原生。唯一的网络请求是「检查更新」——页面 POST 到 /api/dsh-perf-boost/update-check,由宿主查 npm latest;失败显示「未查到」,不影响功能。

安装与启用

官方 README 给出的安装方式如下。将包名加入 profile 的 dsh.profile.bundles,重启应用后生效;卸载时从 bundles 移除并重启。

pnpm add dsh-perf-boost
pnpm add github:AlLHHH/dsh-perf-boost
pnpm add file:./dsh-perf-boost

依赖客户端插件 API:window.__ModuleLoader__.load、slots(settings.section)、require('react')(见 README「兼容」一节)。

典型用法与验证

  1. 重启后在 设置 → 性能优化 中按场景开关各项;长会话可保持默认六项开启,需要更轻 UI 时再试「关闭背景模糊」「减少动画」。
  2. 验证是否生效(README「验证」):
    - 「长对话省渲染」行下方应显示 已生效:N 个列表,跳过 M 项渲染(共 K 项)。
    - 打开「帧率角标」,右下角出现 fps 小方块;角标为浏览器实际送帧数,上限等于显示器刷新率。
    - 控制台执行:window.__dpbRaf、window.__dpbTimers 为 true 表示 rAF 与定时器接管成功。
  3. 帧时、DOM 节点等细分数据请用 DevTools Performance 面板录制;插件不做常驻采样。

README 在 Windows 桌面端、200Hz 显示器、缩放 100% 下给出参考数据(同机 Edge 空白页约 187–200 fps;DSH 新会话 DOM 1218 约 200 fps;约 2.3 万事件会话约 156 fps,p50 帧时约 6.4 ms)。页面代码本身可跑满刷新率,长会话差距来自 DOM 体量与 Electron 窗口合成。

适用场景与注意

适合:长期在 DSH 桌面端维护超长对话、希望在不改宿主的前提下降低渲染与后台开销的用户。

已知限制(README):

  • 窗口 transparent / vibrancy 由应用 app.asar 的 lib/main.js 决定,Windows 分支不透明,插件无法修改。
  • 省渲染只减少布局与绘制,消息节点仍在内存中,超长会话滚动开销依然存在。
  • 媒体懒加载只改属性,已加载图片不会被回收。

DSH 生态理念是「一切皆插件」;本插件是社区贡献的客户端优化方案,安装与开关请结合自己的安全与合规要求审阅源码。

结尾

dsh-perf-boost 把性能优化收敛在渲染进程:默认六项对观感透明,长对话与后台行为可 measurable 地减负;需要更激进时可关模糊、减动画,或用帧率角标与 DevTools 对照验证。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜