回答編集履歴

2

計算の修正

2021/05/18 13:03

投稿

退会済みユーザー
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  int t = (int)(1000 - ((glfwGetTime() * 1000.0) - startCount));
32
32
 
33
- wait = t / 60;
33
+ wait += t / 60;
34
34
 
35
35
  ```
36
36
 

1

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

2021/05/18 13:03

投稿

退会済みユーザー
test CHANGED
@@ -17,3 +17,39 @@
17
17
  wait = t / 60;
18
18
 
19
19
  ```
20
+
21
+
22
+
23
+ 原因について理解できなかったようなので、追記
24
+
25
+
26
+
27
+ ```cpp
28
+
29
+ // 1000msから経過時間を引き、スリープが必要な時間を計算する
30
+
31
+ int t = (int)(1000 - ((glfwGetTime() * 1000.0) - startCount));
32
+
33
+ wait = t / 60;
34
+
35
+ ```
36
+
37
+
38
+
39
+ > 提示コードですが1000倍することによってミリ秒を取得してそれを使ってフレームレート制御してwait変数の数値の分プログラムを停止するコードを作りたいのですがなぜかint t の値が段々増えてしまし困っています。何が原因なのでしょうか?
40
+
41
+
42
+
43
+
44
+
45
+ 上記、質問自体については以上となります。
46
+
47
+
48
+
49
+ > glfwGetTime();関数を使ってフレームレートを固定する方法が知りたい。
50
+
51
+
52
+
53
+ タイトルについては、毎フレーム処理が一定なんてことはないでしょうし、
54
+
55
+ この方法自体、筋が悪いと思うので組み直した方がいいでしょう。