跳转到内容

解释 Magpie 的 Graphics Capture、Desktop Duplication、GDI 和 DwmSharedSurface 如何选择。

无特殊原因先用 Graphics Capture。它是 Magpie 官方文档推荐的默认捕获方式,兼容性和流畅度通常最好。

只有遇到特定问题时再切换:

  • 画面捕获失败、黑屏、窗口特殊:试 Desktop Duplication
  • 老游戏或旧软件被 Windows DPI 虚拟化提前放糊:试 GDIDwmSharedSurface,同时检查高 DPI 兼容性设置。
  • 需要录制/串流把 Magpie 后画面带出去:GDIDwmSharedSurface 更可能符合预期,但要牺牲兼容性。
  • 追求稳定性能:谨慎用 DwmSharedSurface,官方说明里它的性能不稳定。
捕获方式核心特征优点主要限制使用建议
Graphics CaptureWindows Graphics Capture 路径默认首选,兼容 DirectComposition/UWP,流畅度好特殊情况下录制/串流或跨多屏有限制;不绕过 DPI 虚拟化第一选择
Desktop DuplicationDXGI 桌面复制能捕获 DirectComposition,遇到 WGC 问题时可试要求 Windows 10 v2004;不支持窗口模式缩放;不支持录制/串流全屏缩放排障
GDI传统 GDI 抓图可绕过 DPI 虚拟化,录制/串流更直观不支持 DirectComposition/UWP;性能和帧同步不如现代路径老游戏、旧软件
DwmSharedSurfaceDWM 共享表面可绕过 DPI 虚拟化,支持录制/串流不支持 DirectComposition/UWP;性能不稳定只作为特定问题补救

源码里 CaptureMethod 枚举对应这四项:GraphicsCaptureDesktopDuplicationGDIDwmSharedSurface。渲染器会按配置实例化对应的 FrameSource

DPI 虚拟化是画面变糊的常见源头

Section titled “DPI 虚拟化是画面变糊的常见源头”

老游戏或旧应用不支持高 DPI 时,Windows 可能先用自己的双三次插值把窗口放大。Magpie 再捕获这个已经被系统放大的画面,后续算法再强,也是在处理“已经糊过一次”的输入。

补救顺序:

  1. 进目标程序的兼容性设置,把“高 DPI 缩放替代”设为“应用程序”。
  2. 让游戏内部渲染在它真实支持的最佳分辨率,不要用游戏自带的粗糙窗口拉伸。
  3. 如果仍然糊,尝试 GDIDwmSharedSurface,利用它们绕过 DPI 虚拟化的能力捕获更原始的画面。
  4. 最后再调超分算法;不要用锐化掩盖错误捕获源。

如果你要让 OBS、RTSS、串流软件或截图工具捕获最终画面,需要单独测试捕获链路。

要点:

  • Magpie 自己用 Direct3D 呈现,RTSS 这类叠加层可能显示两层性能信息。
  • Graphics CaptureDesktop Duplication 在某些录制/串流场景下不如 GDIDwmSharedSurface 直观。
  • 3D 游戏模式会改变光标和叠加层行为,适合 3D 游戏,但不支持工具栏和窗口模式缩放。
  • 如果录制软件抓不到 Magpie 后画面,先换捕获方式,再考虑换录制源类型。

多显示器下优先保持源窗口在一个屏幕内。官方捕获对比里提到,Graphics Capture 在特殊情况下不支持源窗口跨越多个屏幕,Desktop Duplication 也不支持这种跨屏源窗口。

窗口模式缩放要注意:

  • Desktop Duplication 不支持窗口模式缩放。
  • 3D 游戏模式不支持窗口模式缩放。
  • 部分窗口类型本身不适合窗口模式缩放,失败时先回到全屏模式排查。

捕获模式也会影响帧同步。源码文档的性能建议里提到,Graphics CaptureDesktop Duplication 下,即使游戏和 Magpie 都是 60 FPS,也可能因为垂直同步导致观感不流畅。

排查顺序:

  1. 游戏开启传统垂直同步,不要直接用驱动面板的快速同步替代第一轮测试。
  2. Magpie、游戏、显示器刷新率尽量对齐,例如都围绕 60 FPS/60 Hz。
  3. 每种捕获方式都跑 30 秒固定场景,观察重复帧、掉帧、鼠标拖动延迟和 GPU 占用。
  4. 如果 Desktop Duplication 丢帧严重,回到 Graphics Capture 或试 GDI
  5. NVIDIA 控制面板里不要给 Magpie 强开过激低延迟模式;如果 GPU 频率掉得奇怪,单独给 Magpie 设置更稳定的电源管理策略。
现象首选动作
大多数游戏正常缩放Graphics Capture
WGC 黑屏或捕获失败Desktop Duplication,再试 GDI
老游戏窗口被系统放糊高 DPI 替代设为“应用程序”,再试 GDI/DwmSharedSurface
需要窗口模式缩放避开 Desktop Duplication 和 3D 游戏模式
UWP/DirectComposition 应用Graphics CaptureDesktop Duplication
要录制最终画面GDI/DwmSharedSurface,同时验证 OBS/RTSS 抓取路径
性能忽快忽慢先换捕获模式,再降低算法复杂度