 <p>When you create a D3D device you specify which window do bind it to (third parameter of <code>CreateDevice</code> call). I may suggest that destroying of second device takes out focus in a way which is unseen by the first device. Try explicitly returning the focus back to main window:</p> <pre><code>second_device-&gt;Release(); SetActiveWindow(hWnd); </code></pre> <p>Btw, if this is how you make parallel rendering consider using render targets or swap chains instead. DX9 docs say that switching between devices puts a significant penalty to performance.</p>