gpt4 book ai didi

c++ - Win32 - 读取桌面像素的最快方法

转载 作者:行者123 更新时间:2023-11-28 02:52:06 39 4
gpt4 key购买 nike

我的任务是编写一个(非托管 c++ win32)应用程序以通过网络向另一台计算机显示 Windows CE 5.0 的当前桌面。客户要求原始代码,并拒绝了我找到的一些 VNC 代码。

我有一些工作,但我有一个吞吐量瓶颈。我能找到的获取屏幕像素的唯一方法是使用 CreateDibSection 创建一个 DIB,然后使用 Bitblt 将像素复制到缓冲区。在分析我的代码后,我发现在 Windows 7 上,我的应用程序使用的 CPU 时间的 60% 花在了 Bitblt 上。在 Windows CE 上,它更像是 80%。 我使用每个像素 32 位、24 位还是 16 位似乎并不重要。

我的问题是: 有没有比 CreateDibSection 和 BitBlt 更好(更快)的方法来准备整个桌面像素?在我的应用程序中,它将在特定硬件上运行,因此我不需要设备独立性。

最佳答案

要求拥有原始代码是否出于法律问题? Microsoft 在共享源许可下提供 cerdisp 应用程序的代码,这正是您所要求的。至少您可以检查该代码以了解它使用哪些 API 来捕获屏幕图像。

关于c++ - Win32 - 读取桌面像素的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823932/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com