Direct2Dでは標準ではリソースの解放忘れをチェックして警告してくれるようなデバッグモードは実装されていないらしいです。それはCOMっちゃうな~;と思った人はここからDirect2D用のデバッグレイヤーをダウンロードして実行しましょう。
この時
d2d1debug.dllがインストールされるらしいのですが ライブラリファイルの追加等のVC++の設定作業は不要です。Direct2Dが内部からd2d1debug.dllを呼べるみたいです。
後は、我々はただ単にD2D1CreateFactory()を呼ぶ時にデバッグオプションを指定すればいいだけです。
詳しくは以下をどうぞ。
Direct2Dデバッグレイヤーの概要
リソースの解放をチェックする場合の注意点としては、
1・あらゆるリソースの中でファクトリ(ID2D1Factory)を最後にRelease()する。
2・ファクトリの解放自体はチェックされない。
という事です。
ファクトリによってその他のリソースをチェックしている事が伺えます。
ファクトリをリリースした時点で未解放のリソースをがあればデバッグウインドウにメッセージが表示されます。
0 件のコメント:
コメントを投稿