Windows 7(或更高版本)中活动的可见hwnd的数量是否会显著影响性能?

Does the number of active visible HWNDs in Windows 7 (or up) affect performance notably?

本文关键字:是否 性能 影响 hwnd 版本 高版本 Windows 活动      更新时间:2023-10-16

这个问题确实很模糊,但我尽量避免掉进设计的兔子洞。我听说在一个应用程序中创建数百个按钮和其他控件比我自己编写无窗口控件和处理鼠标点击/移动/跟踪/捕获逻辑的性能要差。

我只想说我的偏好是使用基于HWND的控件,因为我不需要重新发明轮子,但如果应用程序将变得不可用,则不是。

根据我使用hwnd非常重的应用程序的经验,我认为您不会遇到重大的总体性能问题。

但是,如果您疯狂地创建O/S窗口,则需要确保您没有超过每个进程和每个会话的句柄限制(默认为一个进程10,000个,会话32,768个)。

在某些时候,您将无法创建新的句柄(因此无法创建新的窗口对象),您的应用程序将开始以奇怪的方式运行,并且从那里开始走下坡路。

当您创建大量的O/S句柄时,您也可以在桌面堆上运行较低,这可能会导致其他不稳定问题。由于这些原因,最好以这样一种方式进行设计,即对于任何可能的用例,您都要保持在限制之内。

相关文章: