総合発表&雑談スレッドat GAMEDEV総合発表&雑談スレッド - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト725:名前は開発中のものです。 04/10/21 22:31:28 0dhVP6ck >>723 ミニゲームで60fpsが維持できないって50MHz以下かな? 726:名前は開発中のものです。 04/10/21 23:14:53 26jBIHbd >>723 楽な方法はゲーム処理ルーチンと描画ルーチンを分ける。 重いのは描画処理でそ。 ↑のヤツだと、オイラはだいたい以下みたいな処理。 bool bDraw=false; DWORD nextTime=timeGetTime(); while (!end) { if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)){ TranslateMessage(&msg); DispatchMessage(&msg); } else if(nextTime <= timeGetTime()){ nextTime += 16; if (nextTime > TimeGetTime()+500) nextTime = TimeGetTime()+500; GameProc(); bDraw=true; } else if (bDraw) { DrawProc(); bDraw=false; } else { int sleeptime=nextTime-timeGetTime()-5; if (sleeptime > 0) Sleep(sleeptime); } } コレはわかりやすく書いたので、GameProc()が重い状態が続くと 一切描画の更新がされなくなる。そこらへんはゲーム処理のfpsと描画のfpsの バランスをどう取るかを考えて、例えば200msたったら強制描画するとかイロイロ処理いれる。 他にもゲーム処理は固定fpsにしないで、前フレームからの時間に応じた処理をさせる、とか イロイロ方法があって、その人なりの主義主張があって、2chでは荒れる原因になりがち。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch