質問するログイン新規登録

回答編集履歴

2

計算の修正

2021/05/18 13:03

投稿

退会済みユーザー
answer CHANGED
@@ -14,7 +14,7 @@
14
14
  ```cpp
15
15
  // 1000msから経過時間を引き、スリープが必要な時間を計算する
16
16
  int t = (int)(1000 - ((glfwGetTime() * 1000.0) - startCount));
17
- wait = t / 60;
17
+ wait += t / 60;
18
18
  ```
19
19
 
20
20
  > 提示コードですが1000倍することによってミリ秒を取得してそれを使ってフレームレート制御してwait変数の数値の分プログラムを停止するコードを作りたいのですがなぜかint t の値が段々増えてしまし困っています。何が原因なのでしょうか?

1

原因だけでは不足なようなので追記

2021/05/18 13:03

投稿

退会済みユーザー
answer CHANGED
@@ -7,4 +7,22 @@
7
7
  ```cpp
8
8
  int t = ((int)(glfwGetTime() * 1000.0f)) - startCount;
9
9
  wait = t / 60;
10
- ```
10
+ ```
11
+
12
+ 原因について理解できなかったようなので、追記
13
+
14
+ ```cpp
15
+ // 1000msから経過時間を引き、スリープが必要な時間を計算する
16
+ int t = (int)(1000 - ((glfwGetTime() * 1000.0) - startCount));
17
+ wait = t / 60;
18
+ ```
19
+
20
+ > 提示コードですが1000倍することによってミリ秒を取得してそれを使ってフレームレート制御してwait変数の数値の分プログラムを停止するコードを作りたいのですがなぜかint t の値が段々増えてしまし困っています。何が原因なのでしょうか?
21
+
22
+
23
+ 上記、質問自体については以上となります。
24
+
25
+ > glfwGetTime();関数を使ってフレームレートを固定する方法が知りたい。
26
+
27
+ タイトルについては、毎フレーム処理が一定なんてことはないでしょうし、
28
+ この方法自体、筋が悪いと思うので組み直した方がいいでしょう。