IDirect3DQuery9 で
マネージリソースの動きを見よう!
と、鬼にも勝る修羅の意気込みをしていたのですが・・・
動☆か☆な☆い!
( ´゚д゚`)エー・・・
なんつうかですね。動かないんですよ。
【デバイス】-> CreateQuery( D3DQUERYTYPE_RESOURCEMANAGER, 【IDirect3DQuery9 のポインタのアドレス】 );
が失敗します。
なんでや!
この
リソースマネージャクエリは条件が2つほどありまして
① : デバイス生成時に D3DCREATE_DISABLE_DRIVER_MANAGEMENT も指定して
ドライバではなくDirect3D にリソースを管理させる。
② : DEBUGランタイムしか使用できない。
ドライバではなくDirect3D にリソースを管理させる。
② : DEBUGランタイムしか使用できない。
というものです。
もちろん両方行いました。
しかし、どうあがいても絶望。
D3DERR_NOTAVAILABLE が返ってくるだけです。
なんじゃそらああああああああああ!!!!
いい加減にしろおおおおおおおおおおおおおお!!!!!!
いろいろ調べましたがどこにも参考文献なし。
おそらく 『使えない』 という結論に至りました Ω\ζ°)チーン
(´ε`;)ウーン… 便利と思ったんですがね-。
仕方ないです。
デバイス関係は DirectDraw で取得できるらしいのでそちらを試してみようかな・・・
でも本当に悔しいな-
どこにも乗ってないから
『おっ!? これ出来たらgoogle検索で一番上に俺のブログヒットするんじゃね!?』
と、欣喜雀躍になったのに言い様ですよ。
笑ってください。
取り敢えず、リソース関係は使っていき、その場で対応するしかないかな-。
D3DPOOL_MANAGED が基本でいいと思う。楽だし。
D3DPOOL_DEFAULT や D3DPOOL_SYSTEMMEM との
一番の違いは
『デバイス消失時の面倒臭』だと。これにつきる。
ほんっっっっっっっっとうに面倒くさい。
フルスクリーンとウィンドウを切り替えるゲームならば D3DPOOL_MANAGED で作って、パフォーマンス的に不具合が出なかったらそれでいいと思います。
出た場合は DEFAULT と SYSTEMMEM の組み合わせを考えて方がいいんじゃないかな。
デバイスのロストの対応は
げーむつくろー様の ↓ の記事が参考になりますm(_ _)m
【 ( URL )デバイスのロストに対応する! 】
**************************************
**************************************
デバイスのロストって本当に面倒くさいね!
最初にコレを含めた設計をしてないせいで現在泣きを見てます。
ま、
『常時フルスクリーンで良い』といわれたので、
『あ、、ならデバイスのロストとかシラネwwwww』
となってもう適当です。
次回!
DLL!!!!
ダイナミック えるえる について!!!
そろそろライブラリ作らないときっつくなって来ました・・・(T_T)