我正在编写一个通过其COM API与CAD软件包软件交互的小程序。 这个程序是用VB.net编写的,使用WinForm并以.NET Framework 4为目标。
基本上我的程序(按照执行的顺序):
这些例程包含在单个while()
循环中,并使用BackgroundWorker
实现,因此GUI将保持响应。
当程序当前处于前台时(它不是全屏),程序正常工作。我可以看到CAD软件中的几何变化运行顺畅。
然而,一旦程序最小化并且我切换到CAD软件窗口,几何变化就开始滞后/抖动。
将焦点切换回我的程序,所有内容都会再次运行。
为什么会这样?可能是最小化我的应用程序获得较少的处理器优先级?
我该如何解决这个问题?
当程序在后台时,串口解析/ GUI控件更新会被暂停吗?(即在更新GUI控件之前,API调用被阻止)
我应该从主循环中提取这些GUI更新吗?
如果您认为需要更多信息,请告诉我,我会相应地更新我的问题。
在此先感谢,我在编程世界方面相当新,所以请耐心等待。 :)
答案 0 :(得分:0)
可能是Windows设置(检查系统首选项),其性能设置为“活动”应用程序(客户端计算机)与“所有应用程序同等”(服务器)。