I wrote a DLL function that handles the detection of the lost device. Guaranteed works in all cases.
As for automatically reloading the surfaces as you found out you cant restore surfaces if they are in vid memory. You also cant restore surfaces if you need to recreate the worth the problem. Its not that hard to structure code to device. Situations such as change resolution or another application going fullscreen.
BMAX works because all graphics a buffered, and the textures are recreated if the device needs to be recreated. I suspect Mark doesnt want to do that due to major underlying changes. I dont want him pausing my application logic due to drawing being suspended.
I am just waiting on SystemProperty to be exposed in SDK and Ill be fine.
Its really simple solution, no hooking messages or testing surfaces.
Read my above post and the documentation for the method. Implement DLL to call that function and process the return.
Doug
As for automatically reloading the surfaces as you found out you cant restore surfaces if they are in vid memory. You also cant restore surfaces if you need to recreate the worth the problem. Its not that hard to structure code to device. Situations such as change resolution or another application going fullscreen.
BMAX works because all graphics a buffered, and the textures are recreated if the device needs to be recreated. I suspect Mark doesnt want to do that due to major underlying changes. I dont want him pausing my application logic due to drawing being suspended.
I am just waiting on SystemProperty to be exposed in SDK and Ill be fine.
Its really simple solution, no hooking messages or testing surfaces.
Read my above post and the documentation for the method. Implement DLL to call that function and process the return.
Doug