私のアプリでは、direct2d を使用して共有 (d3d11/d3d10) テクスチャに書き込みます。これは、私のアプリで使用される唯一の種類のレンダー ターゲットです。デバイスは direct2d (D2DERR_RECREATE_RENDER_TARGET) で失われる可能性があるため、デバイスに依存するリソースを抽象化および/または再作成するためのコードが多数存在します。しかし、私はまだこのような状況が実際に起こっているのを見ていないので、無駄な努力をしているのではないかと気になります. このシナリオではレンダー ターゲットが実際に失われる可能性がありますか、それともテクスチャが d3d11 を介して作成されているため (d3d10 と共有されていますが) 保護されていますか? もしそうなら、少なくともこの状態を処理するコードをテストできるように、レンダーターゲットを失わせる再現可能な簡単な方法を誰かが知っていますか?
1072 次
2 に答える
4
それは無駄な努力ではありません。多くのシナリオでは、デバイスの損失が発生する可能性があります。テスト目的でこれを誘発する簡単な方法は、グラフィックスドライバーを更新することです。アプリケーションはこれを適切に処理する必要があります。グラフィックドライバがクラッシュしたり、Windows Updateがバックグラウンドで新しいバージョンをインストールしたりした場合にも、バックグラウンドで発生する可能性があります。他のケースもありますが、おそらく最も一般的です。
デバイスマネージャを使用して、ドライバをすばやくロールバックおよび更新できます。
于 2013-01-17T16:03:13.820 に答える