The GUI of our MFC application becomes highly unresponsive when all these conditions are present:
- Direct3D Rendering running in a separate thread
- GPU utilization is high at >95%
- Aero is enabled (Win 7)
The unresponsiveness seems to be caused by the MFC GUI thread waiting in gdi32.dll. The render thread is running fine, and direct3D rendering is smooth. It does not seem to matter what tasks the GPU is busy with, or how many FPS the render thread produces, as long as GPU utilization is consistently high. It appears that Aero causes long time locking of resources needed for GDI rendering calls in our MFC application.
- We see the same problem across multiple graphics cards from different vendors.
- We are able to reproduce the issue in a Win32 application where GDI and Direct3D are rendered to separate child windows.
Is this expected behavior?
any ideas on how to work around this problem?
Suggest resinstall video driver and directX
If you want to track the hang via debug, you can refer to http://support.microsoft.com/kb/286350 to capture dump file and analyze the dump in windbg.
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
Microsoft Online Community Support