Win32 应用程序在任务栏中最小化时速度变慢

问题描述 投票:0回答:1

我有一个 Win32 应用程序,充当两个设备之间的 Scada。我的问题是,当最小化到任务栏(windows11)时,程序速度会减慢很多。我发现这个问题是因为我的代码开始捕获前面的应用程序窗口从未发生过的超时。此外,在串行打印处于活动状态时,当我从任务栏恢复窗口时,我发现打印频率大大减慢,过了一会儿又恢复到正确的频率。

Win32 有没有办法避免这种情况?任务的优先级可能会影响?

winapi taskbar
1个回答
0
投票

您的问题是进程提升(来自 Windows Internals 7th ed):

默认情况下,Windows 为前台线程设置最大可能的优先级提升...因此,当客户端系统上的窗口进入前台时,进程中的所有线程 包含拥有前台窗口的线程的量子数增加了三倍。

SetPriorityClass

ABOVE_NORMAL_PRIORITY_CLASS
一起使用。这将调整进程的基本优先级范围,以便已提升的普通前台线程仍将以与应用程序的普通线程相同的优先级运行。

© www.soinside.com 2019 - 2024. All rights reserved.