注意:这不是新手问题
我的应用程序的主窗口偶尔会“冻结”下面列出的症状。主窗口调整大小后,应用程序继续正常工作。
我使用的调试器,Windows应用程序验证器和其他工具没有问题。
可能是什么原因或如何检查窗口被更新阻止的原因?
一些细节:
- 旧的32位c ++ MFC应用程序,在24/7模式下的许多Window XP安装上运行良好多年
- 该应用程序使用MFC / GDI函数呈现一些简单的2D图形
- 在64位Windows 7下的几台计算机上,很少(每月约一次)应用程序的主窗口停止更新:它看起来就像应用程序截取其主窗口客户区的屏幕截图并显示此截图直到邮件窗口调整大小
- 我的诊断日志和所有类型的工具表明,一旦冻结,内部应用程序正常工作:它仍然呈现更新但由于某些原因Windows忽略它们
- 应用程序主菜单打开并正常运行
- 所有图纸均以单线程制作
- 通过主菜单调用的各种模态对话框也能正常工作
- 记事本在我的应用程序上显示正确,并且没有留下任何痕迹
- Windows本身和所有其他应用程序始终正常工作
我认为这与我们正在使用的视频卡/其驱动程序有关(3台显示器连接到两台NVIDIA NVS 300),但我不明白为什么只有我的应用程序受到影响。此外,我很想知道调整大小会消除更新锁定的魔力。
2015年12月9日更新:
- 我确定绘图线程没有被阻止:应用程序主线程也总是正确响应鼠标点击,菜单命令和键盘
- 所有计数器(内存,处理器,GDI / USER对象)都表示没有问题