Re: 最新DXLIBを使ってみましたが、動作が遅くなりました ( No.1 ) |
- 名前:ライブラリ使用者 日時:2008/10/11 23:54
まず何が遅くなったのか、はっきりさせないとまずいと思います。
元のソースでもいいかもですが、できるならなるべく簡潔なソースを提示できれば確認及び修正対応後の確認も楽にできるようになります。
今の質問では、漠然としすぎています。
あとfps45となっていますが、元が60あったのがでしょうか?
|
Re: 最新DXLIBを使ってみましたが、動作が遅くなりました ( No.2 ) |
- 名前:wakahage 日時:2008/10/12 00:25
はい 59近くあります。
ループ内で1000行ぐらいあり、描画関係のDXLIB関数も多く使用してます。また格段に遅くなるわけではないのでどの関数が原因なのかわからないのです。
いま1秒間あたりの実行回数を関数ごとに調べています
|
Re: 最新DXLIBを使ってみましたが、動作が遅くなりました ( No.3 ) |
- 名前:wakahage 日時:2008/10/12 16:11
おそらく原因であろう関数を載せます
DrawRotaGraph
DrawExtendGraph
DrawModiGraph
Graph(Un)Lock でのアクセス
SoundMem 系
--全体にした設定(参考)--
SetPriorityClass(GetCurrentProcess(),BELOW_NORMAL_PRIORITY_CLASS);
SetOutApplicationLogValidFlag(0);
ChangeWindowMode(TRUE);
SetGraphMode(S_x,S_y,32);
SetMainWindowText("落とし玉");
SetWindowIconID(123) ;
SetDoubleStartValidFlag(1);
if(DxLib_Init() == -1) return(-1);
SetWindowVisibleFlag(1);
SetUseMenuFlag(1) ;
SetDisplayMenuFlag(0) ;
SetDragFileValidFlag(1);
SetAlwaysRunFlag(1);
SetFontSize(16);
---------------------------
ひとつ気になったのですが、
垂直同期信号の少し前にScreenFlipを呼び出すのと少し後に呼び出すのはかなり差が出ますか?
|
Re: 最新DXLIBを使ってみましたが、動作が遅くなりました ( No.4 ) |
- 名前:YKN 日時:2008/10/12 13:43
>垂直同期信号の少し前にScreenFlipを呼び出すのと少し後に呼び出すのはかなり差が出ますか?
私も厳密に知ってるわけじゃありませんので
間違えてるかもしれませんが、
ScreenFlipはデフォルトで垂直同期信号待ちするから
垂直同期信号の後にScreenFlipやると
2フレーム分かかるんじゃないですか?
|
Re: 最新DXLIBを使ってみましたが、動作が遅くなりました ( No.5 ) |
- 名前:wakahage 日時:2008/10/12 16:07
やはりそうなんですか…
では2.22cでも1フレーム内に1ループするように改良します。
ライブラリ使用者さん、YKNさん、ありがとうございますです
|