EDN Admin
Well-known member
Ive got very strange problem with my Direct2D application in windowed mode.
Picture completely disappears on all Direct2D surfaces, when I move mouse over Window header. Ive got white rectangles if ControlStyles.Opaque is false (for panel on which I render) and ive got trash from video memory if ControlStyles.Opaque
is true.
This issue can be reproduced only if all conditions below is true.
1. Desktop composition is on (Windows aero )
2. I have two monitors, plugged into 2 video cards (DVI output from Radeon HD 5570 + DVI output from Intel DH67BL motherboard (Intel HD Graphics 1000 integrated in Intel Core i5 2400 CPU))
If I use only single output (Disable one of the display adapters from Windows Device manager) all works fine. Does not matter what to unplug. Works fine on single ATI Radeon output, works fine on single Intel HD Graphics output.
3. I use <span style="font-family:Consolas,Courier,monospace; white-spacere D2D1_RENDER_TARGET_TYPE_HARDWARE while creating render target by ID2D1Factory::CreateHwndRenderTarget.
Works fine with <span style="font-family:Consolas,Courier,monospace; white-spacere D2D1_RENDER_TARGET_TYPE_SOFTWARE
So when I move mouse over window header Ive got broken picture. The next frame is rendered successfully (until I move mouse over header, and picture disappers again). I tried to use Spy++: My control for rendering dont receive any messages at all (No WM_PAINT
or WM_ERASEBACKGROUND). No messages at all. Only the main window (which contains my control) got WM_NCHITTEST/WM_NCMOUSEMOVE etc...
It also happens if window is active and mouse is over header but not moving (It happens with a several secconds delay in this case).
Im absolutely shure that Direct2D API is not used by my application when mouse moves over header (I added logging on each function call).
Any suggestion how to investigate the problem?
All updates for Windows 7 Proffesional SP1 is installed. I use the latest version of drivers (I tried both drivers from Windows Update and latest drivers from AMD/Intel).
Also Ive tried to use DirectX Control Panel from DirectX SDK to turn on Log messages for my application. Ive got no errors/warnings in Visual Studio Output window.
<br/>
View the full article
Picture completely disappears on all Direct2D surfaces, when I move mouse over Window header. Ive got white rectangles if ControlStyles.Opaque is false (for panel on which I render) and ive got trash from video memory if ControlStyles.Opaque
is true.
This issue can be reproduced only if all conditions below is true.
1. Desktop composition is on (Windows aero )
2. I have two monitors, plugged into 2 video cards (DVI output from Radeon HD 5570 + DVI output from Intel DH67BL motherboard (Intel HD Graphics 1000 integrated in Intel Core i5 2400 CPU))
If I use only single output (Disable one of the display adapters from Windows Device manager) all works fine. Does not matter what to unplug. Works fine on single ATI Radeon output, works fine on single Intel HD Graphics output.
3. I use <span style="font-family:Consolas,Courier,monospace; white-spacere D2D1_RENDER_TARGET_TYPE_HARDWARE while creating render target by ID2D1Factory::CreateHwndRenderTarget.
Works fine with <span style="font-family:Consolas,Courier,monospace; white-spacere D2D1_RENDER_TARGET_TYPE_SOFTWARE
So when I move mouse over window header Ive got broken picture. The next frame is rendered successfully (until I move mouse over header, and picture disappers again). I tried to use Spy++: My control for rendering dont receive any messages at all (No WM_PAINT
or WM_ERASEBACKGROUND). No messages at all. Only the main window (which contains my control) got WM_NCHITTEST/WM_NCMOUSEMOVE etc...
It also happens if window is active and mouse is over header but not moving (It happens with a several secconds delay in this case).
Im absolutely shure that Direct2D API is not used by my application when mouse moves over header (I added logging on each function call).
Any suggestion how to investigate the problem?
All updates for Windows 7 Proffesional SP1 is installed. I use the latest version of drivers (I tried both drivers from Windows Update and latest drivers from AMD/Intel).
Also Ive tried to use DirectX Control Panel from DirectX SDK to turn on Log messages for my application. Ive got no errors/warnings in Visual Studio Output window.
<br/>
View the full article