I have implemented a basic rendering system using D3D9 (in unmanaged code) using D3DImage for WPF. Everything is working as expected apart from the fact that when the window is resized I am presented with intermittent black frames (on completion of resize the correct scene is always rendered).
The device is not being lost and no errors are being reported by any D3D functions during rendering.
I have followed these links pretty closely:
Has anybody else encountered similar effects when resizing an Image whose source is a D3D image? Has anybody managed to get around these issues?
A brief update. I have built the microsoft examples and found that they exhibit exactly the same behaviour. My guess is that at a certain point the video memory becomes fragmented and while the driver is doing something to rectify it a black frame is returned. The behaviour is different when the IDirect3DSurface9 is created with a D3DFMT_A8R8G8B8 pixel format; in this case an entirely transparent frame is returned. Limted creation IDirect3DSurface9 objects limts the effect but this has the downside of other resize problems
- Edited by dt128528 Friday, December 02, 2011 10:31 AM