スポンサーサイト

-- --, --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

デバイスロスト

10 28, 2010
・ウィンドウモード、フルスクリーンの切り替え
・フルスクリーン時にデクストップにフォーカスが移る
・スクリーンセイバーが発生

上のような事例が起こると描画のターゲットが失われるデバイスロストが発生する可能性があります。
つまり、スクリーンに何も描画されない状態になってしまうわけです。

これらをプログラマー側で対処しなければならないんですが、なかなか実装が難しいわけです。
なぜなら、IDirect3DDevice9のResetメソッドを呼び出せば良いだけの話ではなく
無効になってしまった規定のリソースをすべて解放し、しかるべき状態のときに
Resetメソッドを呼び出してデバイス情報を再設定して復旧を図ります。
そして、その後に解放したリソースを生成し直す
という非常にめんどくさい順序で処理をしなければなりません。

MSDNデバイスの消失
Maverick Projectさんのリストア処理
ゲームつくろー!さんのその52 デバイスのロストに対処する!

上記のサイト様が非常に参考になります。

自分も実装にの際に参考になりました 本当に有難うございました。
そんなデバイスロストですが、DirectX10、DirectX11から
デバイスロストになりにくいシステムに変更されているそうです。 とてもいい事ですね

以上、デバイスロストでした。
-0 Comments
Leave a comment
管理者にだけ表示を許可する
-0 Trackbacks
Top
プロフィール

Gulatis

Author:Gulatis


2年目のひよっこなゲームプログラマー
嫌いなのはダブルポインター
TwitterSteamやってます。

記事の内容は主にDirectX9の話です。

ツイッター
カテゴリ
リンク
参考になった書籍


DirectXゲームグラフィックスプログラミング

基礎、概念がとてもわかりやすい


DirectX9必携

テクニック本 実際に使えます
購入予定の書籍


C++クラスと継承完全制覇

オブジェクト指向の考え方の地盤を固めたい


ゲームプログラマになる前に覚えておきたい技術

暇ができたら是非読みたい
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。