WPS 文字滚动掉帧:16.4fps,仅为 Word 的 1/3(附 8 组对照实测)
环境:Windows 11 26200 x64;i5-1240P + Intel Iris Xe(驱动 32.0.101.7088);1920×1080@60Hz、125% 缩放;WPS 12.1.0.29161(x86 个人版);对比 Microsoft Word 2021(16.0.20527)。
问题:WPS 文字滚动文档时明显一跳一跳地掉帧,同一文档、同一台机器、同样滚轮输入下实测:
WPS 文字:16.4 fps,每格滚轮仅 0.72 帧(约 28% 的滚轮事件完全没有画面变化)
Word 2021:44.9 fps,每格滚轮 2.27 帧,滚动连续平滑
复现:打开 15MB / 57 页含大量图片表格的 docx,窗口最大化、100% 缩放、页面视图,用滚轮以约 25 格/秒连续滚动 5 秒。
已排除(每项都单独实测,差异均在噪声范围内):
1. CPU 降频——稳定 1700MHz,未降频
2. 电源节能——已插电 99%,无进程效率模式
3. 窗口大小——1920×1020 缩到 700×500,16.4 → 16.4 fps
4. 字体缺失——把缺失字体全部替换为本机字体,16.4 → 16.0 fps
5. 版本回退——旧版 12.1.0.28043 更慢,11.0 fps
6. 实时预览/拼写检查/语法检查/任务窗格 全关,16.4 → 16.8 fps
7. 系统滚轮改"每次 1 行",16.4 → 16.8 fps
8. 关闭"提供动画反馈/显示动画",16.4 → 16.4 fps
关键线索:改用键盘 ↓ 逐行滚动(50 次/秒)可达 36.4 fps,每键 1 帧。说明绘制管线本身能跑到 36fps 以上,瓶颈精确落在滚轮事件的重绘/合帧路径上——滚轮路径每格只产生 0.72 帧,且会吞掉滚轮输入。
另一个观察:WPS 文字进程内未加载 d2d1.dll / d3d11.dll / dxgi.dll(CPU 光栅化),而同一台机器上 WPS 演示使用 direct2d(HKCU 下 wpp\HardAcc\LastHardAccMode=direct2d)。手动为文字指定 Direct2D 设备(ManualHardAccDevice + 完整设备档)后,重启 WPS 会被清空并重新写回 Raster。
期望:滚轮滚动刷新率与键盘滚动一致(≥36fps),且不丢弃滚轮事件;若文字模块确实只能走 CPU 光栅,希望提供"文字启用硬件加速"或"平滑滚动"开关,或告知已知问题编号。
测量方法:自写脚本以 ~100Hz 用 BitBlt 采样窗口中央 700×150 区域、逐帧哈希统计画面实际变化次数;以 mouse_event 注入真实滚轮事件(-120);每组 5 秒。需要脚本可提供。