Re: SetNotUseDirect3D9Ex関数追加願い ( No.1 ) |
- 名前:管理人 日時:2012/02/13 01:39
MANAGED はすっかり過去の遺物になったと思っていたらBISHAMONが使っていましたか・・・
Direct3D9Ex を使用する理由は Direct3DDevice9Ex のAPI SetMaximumFrameLatency を使用するためです
Vista 以降ではデフォルトで描画遅延があるようで、この API を使うことでその遅延を抑えることが
できるそうです( 実際使ってみた限りでは、あまり体感の変化はありませんでしたが・・・ )
NyaRuRu様の日記に詳しく載っていますので、よろしければ「SetMaximumFrameLatency NyaRuRu」で
検索してみてください
なので GHR.NotUseDirect3D9Ex は DirectX9Ex の作成に失敗した場合のみ使用していたのですが、
とりあえず関数 SetUseDirect3D9Ex で操作できるようにしましたのでよろしければお使いください m(_ _)m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCCTest.exe // Dev-C++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibMinGWTest.exe // MinGW 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
DxLib_Init の前で SetUseDirect3D9Ex( FALSE ) ; とすれば、DirectX9Ex を使用せずに動作します
|
Re: SetNotUseDirect3D9Ex関数追加願い ( No.2 ) |
- 名前:eiki 日時:2012/02/13 15:46
EIKI`です、対応ありがとうございます。
なるほど、3フレーム遅延をプログラム側から変更するためのAPIがDirect3D9Exには用意されていたのですね。理解致しました。
BISHAMON側でもD3DPOOL_MANAGEDを使わない手段を検討して下さっているようですが、とりあえずの措置としてありがたく使わせて頂きたいと思います。
#ちなみにD3DPOOL_MANAGEDは通常の描画ではなくGPUパーティクルというGPUパワーで超大量のパーティクルを扱うエフェクトに用いられているようです。
|
Re: SetNotUseDirect3D9Ex関数追加願い ( No.3 ) |
- 名前:管理人 日時:2012/02/19 13:04
> #ちなみにD3DPOOL_MANAGEDは通常の描画ではなくGPUパーティクルというGPUパワーで超大量のパーティクルを扱うエフェクトに用いられているようです。
そうなのですか・・・
うーん超大量のパーティクルを扱う際に MANAGED のどんな点が有効なんだろう・・・
|