
Remember this will cause removed device for all apps running as it's system-wide including your debugger if you are using local debugging. The best way to test your application is to open a Visual Studio Developer Command Prompt with administrator rights, and with your application running issue this command: dxcap -forcetdr This can also happen when you are resumed from a suspended state. The other case happens because of driver bugs or if you have a DirectCompute shader that is too complex to run within the timeout.įor Universal Windows Platform apps, this scenario happens a little more often because it is used to handle migration of displays in laptops, tablets, phones, etc. The most common reason is that a user leaves your game running when Windows Update installs a new driver in the middle of the night-or as is often the case, while someone is up way past bedtime gaming. In general this shouldn't happen all that often, but it does happen. Many games just return to the initial menu with an error message-assuming they don't just crash out like many of the less robust PC console ports do because you never encounter device removed on the Xbox One. Release all Direct3D and DXGI objects and start over including recreating all Direct3D resourcesĭisplay an error to the user and tell them to restart

In both cases, the video device and driver have been fully reset and all video resources are lost: render targets, textures, vertex buffers, index buffers, etc. There are two places you can potentially get this scenario: When calling ResizeBuffers or Present and you get either DXGI_ERROR_DEVICE_REMOVED or you get DXGI_ERROR_DEVICE_RESET.
