获取windows窗口图像api
Win32.BitBlt
Win32.DesktopDuplication
Win32.DwmSharedSurface
Win32.DwmThumbnail
WinRT.GraphicsCapture
另外还有mss、dxcam
dxcam非常快,mss是专用于屏幕截图的轻量级库,它直接读取显存中的图像数据,速度非常快
1.Win32.BitBlt:
速度相对适中,对于非DirectX应用,它能提供稳定的性能,但可能受限于系统和图形驱动的性能。对于快速变化或重负载的图形内容(如游戏),性能可能不佳,因为它依赖于GDI,后者可能无法直接访问GPU加速的渲染内容。
2.Win32.DesktopDuplication API:
速度较快,尤其在处理高帧率和图形密集型应用(如游戏)时表现出色。由于它直接访问GPU内存,避免了CPU-GPU之间的数据复制,因此可以实现更低的延迟和更高的捕获速率,适合需要高性能屏幕捕获的场景。
3.Win32.DwmSharedSurface:
速度和效率方面,这一方法通常不是直接用于屏幕截图的首选。它更倾向于用于进程间的数据共享,可能不是最高效或最直接的截图方式。
4.Win32.DwmThumbnail:
由于其设计目的主要是生成窗口的缩略图,所以在速度上并不追求极致。对于快速的连续截图或全尺寸图像捕获,它可能不是最佳选择,但对于偶尔的缩略图生成足够用。
5.WinRT.GraphicsCapture:
提供了高效且现代的屏幕捕获能力,特别是在UWP和WinUI 3应用中。它能够很好地处理DirectX内容,具有较低的延迟和较高的帧率,适合现代高性能应用的屏幕捕获需求,速度表现优异。