ScnLib_EnableGPUAcceleration()

ScnLib_EnableGPUAcceleration()

标准版专业版超级版游戏版
C++ __declspec(dllimport) void __stdcall ScnLib_EnableGPUAcceleration(BOOL bEnable);
C# [DllImport("ScnLib.dll")] public static extern void ScnLib_EnableGPUAcceleration(bool Enable);
Basic Public Declare Sub ScnLib_EnableGPUAcceleration Lib "ScnLib.dll" (ByVal Enable As Boolean)
Delphi procedure ScnLib_EnableGPUAcceleration(Enable: LongBool); stdcall; external 'ScnLib.dll';
  • 描述
    启用/禁用 GPU 加速屏幕捕获功能。

  • 参数
    • Enable [in]
      TRUE:启用 GPU 加速功能。
      FALSE:禁用 GPU 加速功能。
  • 返回值
    无。

  • 备注
    Windows 的屏幕捕获技术有很多种,例如 GDI 屏幕捕获、基于驱动程序的屏幕捕获、DWM(Aero) 挂钩捕获、DXGI 桌面复制等。最广泛使用的技术是 GDI 屏幕捕获,它也是最简单的一种。但是 GDI 屏幕捕获卡顿非常严重,只能以低帧率屏幕捕获,尤其是在 Windows Vista / 7 / 8 / 8.1 / 10 等系统上,因为在这些系统上 GPU 渲染流水线从显卡 RAM 到系统 RAM 的反向传输性能很差。一些录屏软件可能需要在整个录屏过程中暂时关闭 GPU 渲染(也就是 DirectX 硬件加速),以消除系统卡顿,这显然会导致用户体验不佳。我们的 SDK 采用最先进的屏幕捕获技术,可提供无延迟的高帧率屏幕录制体验,包括适用于 Windows Vista / 7 的 DWM(Aero) 挂钩捕获、适用于 Windows 8 / 8.1 / 10 的 DXGI 桌面复制,以及Windows XP 的 GDI 屏幕捕获。多年前我们曾为 Windows XP 实现了基于驱动程序的屏幕捕获,但很快意识到安装额外的驱动程序可能是另一个糟糕的用户体验,因此我们最终使用了 Windows XP 的标准 GDI 屏幕捕获,它工作很正常,因为 Windows XP 不是毕竟是基于 GPU 的渲染系统。DWM(Aero) 挂钩捕获和 DXGI 桌面复制可以利用 GPU 加速 Windows Vista / 7 / 8 / 8.1 / 10 上的屏幕内容读取,这是无延迟屏幕捕获的关键。我们的 SDK 无缝集成了这些技术,隐藏了所有复杂的东西,自动适应不同的 Windows 系统,以最低的 CPU 使用率提供令人难以置信的屏幕录制性能。这就是本 SDK 的最大优势。默认设置下,GPU 加速功能是启用状态。但 SDK 还提供了一种切换到非 GPU 加速模式的方法:使用 FALSE 参数调用本函数,则 SDK 将在所有系统下都仅使用标准 GDI 屏幕捕获技术,除非您遇到特殊系统的兼容性问题,否则不建议这样做。要检查当前是否启用了 GPU 加速功能,请调用 ScnLib_IsGPUAccelerationEnabled()

  • 参见
    ScnLib_IsGPUAccelerationEnabled(), ScnLib_EnableVideoVariableFrameRate()

下载 SDK API 总览