- Windowsゲームプログラミング 質問スレ
767 :名前は開発中のものです。[sage]:2011/06/26(日) 00:27:46.94 ID:C/6aPfwc - >>766
マルチメディアタイマのイベントというのがよくわかんないんですが それを使えばSleep()しなくてもCPUに高負荷がかかりませんか?
|
- Windowsゲームプログラミング 質問スレ
768 :名前は開発中のものです。[sage]:2011/06/26(日) 02:36:36.47 ID:C/6aPfwc - どう監視してもSleep()に0より大きい値入れると
FPSが安定しないので もうウェイト処理にSleep(0)だけ入れる事にした ヽ(`Д´)ノ Sleep()の仕様で、引数に与えた値以上、戻ってこない事があるらしいから それが原因なのかな…
|
- Windowsゲームプログラミング 質問スレ
770 :名前は開発中のものです。[sage]:2011/06/26(日) 08:26:23.84 ID:C/6aPfwc - >>769
>それを使えばSleep()しなくてもCPUに高負荷がかかりませんか? すみません、この上記の質問だけ教えてもらえませんか? Yes/No?
|
- Windowsゲームプログラミング 質問スレ
772 :名前は開発中のものです。[sage]:2011/06/26(日) 09:35:10.81 ID:C/6aPfwc - >>771
すんませんす。 timeSetEvent()で指定してコールバックで 処理するという形になるんですね。 なるほど。 ただSleep()も試行錯誤してたら 引数の数値を大きく指定するようにすれば そこそこの精度で安定するようにはなりました。
|
- Windowsゲームプログラミング 質問スレ
774 :名前は開発中のものです。[sage]:2011/06/26(日) 10:54:34.44 ID:C/6aPfwc - >>773
ご紹介ありがとうございます。 ただSleep()さえかけなければ 実際にはパフォーマンスカウンタを使うので 60fpsの誤差は殆どないんです。 ただCPU使用率が100%近くになったりしてたので なるべく余った時間、CPU負荷をかけたくなく Sleep()入れて休ませるつもりでいました。 とりあえずSleep()でも、なるべく大きな値を入れるようにしたら fpsが安定するようになりました。 いくつかのPCで試しましたが、結構安定してます。 (パフォーマンスカウンタで計測すれば、殆ど60ピッタリです) while(1){ stime = timeGetTime(); game_main(); if((dif = 1000 / 60 - (timeGetTime() - stime)) > 0){ Sleep(floor(dif)); } while(timeGetTime() - stime < 1000 / 60){ Sleep(0); } }
|
- Windowsゲームプログラミング 質問スレ
777 :名前は開発中のものです。[sage]:2011/06/26(日) 12:38:17.18 ID:C/6aPfwc - >>776
MsgWaitForMultipleObjects ですね。 調べてみます。情報ありがとうございます^^
|
- Windowsゲームプログラミング 質問スレ
783 :名前は開発中のものです。[sage]:2011/06/26(日) 21:04:13.27 ID:C/6aPfwc - >>778
ウィンドウズのイベントがコールバックで呼び出されるという話じゃないの??
|