• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#objective-cqtwindows誰得cocoapythonphprubygameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。


Commit MetaInfo

Revision207 (tree)
Zeit2018-09-26 23:01:54
Autorxops-mikan

Log Message

内部タイマーの精度向上によるfps制御の改善

Ändern Zusammenfassung

Diff

--- trunk/window.cpp (revision 206)
+++ trunk/window.cpp (revision 207)
@@ -37,12 +37,14 @@
3737 hInstance = 0;
3838 nCmdShow = 0;
3939 hWnd = NULL;
40+
41+ timeBeginPeriod(1); //timeEndPeriodと対
4042 }
4143
4244 //! @brief ディストラクタ
4345 WindowControl::~WindowControl()
4446 {
45- //
47+ timeEndPeriod(1); //timeBeginPeriodと対
4648 }
4749
4850 //! @brief アプリケーションの情報を設定
@@ -276,6 +278,7 @@
276278
277279 //! @brief fps(Frames Per Second:フレームレート)調整
278280 //! @return 調整を実施:true  調整を実施せず:false
281+//! @attention WindowControlクラスを初期化しないと、タイマーの精度が出ません。
279282 bool ControlFps()
280283 {
281284 static unsigned int ptimec = 0;
@@ -285,7 +288,10 @@
285288 nowtime = GetTimeMS();
286289 waittime = GAMEFRAMEMS - (nowtime - ptimec);
287290 if( (0 < waittime)&&(waittime <= GAMEFRAMEMS) ){
291+ //timeBeginPeriod(1);
288292 Sleep(waittime);
293+ //timeEndPeriod(1);
294+
289295 ptimec = GetTimeMS();
290296 return true;
291297 }
@@ -296,13 +302,14 @@
296302
297303 //! @brief ミリ秒単位を返す
298304 //! @return ミリ秒
305+//! @attention WindowControlクラスを初期化しないと、タイマーの精度が出ません。
299306 unsigned int GetTimeMS()
300307 {
301308 unsigned int time;
302309
303- timeBeginPeriod(1);
310+ //timeBeginPeriod(1);
304311 time = timeGetTime();
305- timeEndPeriod(1);
312+ //timeEndPeriod(1);
306313
307314 return time;
308315 }