質問編集履歴

2

理由がわかったのでそこからまたわからないことを書いた

2021/02/03 12:09

投稿

tasuren
tasuren

スコア76

test CHANGED
@@ -1 +1 @@
1
- Python printかsleep(または両)の遅延の対処
1
+ Python コンソールでアニメーションをするさいprintで食われる時間をひいて調整する方法
test CHANGED
@@ -1,9 +1,27 @@
1
- # timeモジュールsleepの細かい遅延なくした
1
+ コンソールでアニメーションを作っており、フレームごとにsleepで再生速度調整行ってます。
2
2
 
3
- コンソールのprintでアニメーションを作ろうとしているのです、どうても遅延で音とずれてしまいます。
3
+ ですが、printなど時間食われてしまいます。
4
4
 
5
- sleep時間を早めると治りますが、そうすると今度は早すぎてしまいます
5
+ なのでprintなどで食われる時間の分をsleepで待つ時間から引く必要があります。
6
6
 
7
- sleepかprintが遅延を一番発生させているといます。
7
+ ですがそのprintなどで食われ時間は変動するので固定だどうしてもずれてしまいます。
8
8
 
9
+ なので以下のように毎回printでかかる時間を測定してみました。
10
+
11
+ ```python
12
+
13
+ interval = 0.033
14
+
15
+
16
+
17
+ start = time()
18
+
19
+ print("アニメーション")
20
+
21
+ time.sleep(interval-(time()-start))
22
+
23
+ ```
24
+
25
+ ですが、timeに結構時間がかかってしまいました。
26
+
9
- どうにかできないでしょうか?
27
+ どうすればでしょうか?

1

正確な情報ではないところがあったので大幅に変更

2021/02/03 12:09

投稿

tasuren
tasuren

スコア76

test CHANGED
@@ -1 +1 @@
1
- Python sleep 細かい遅延 どうにかできないか
1
+ Python printかsleep(または両方)の遅延の対処法
test CHANGED
@@ -1,27 +1,9 @@
1
1
  # timeモジュールのsleepの細かい遅延をなくしたい
2
2
 
3
- ```python
3
+ コンソールのprintでアニメーションを作ろうとしているのですが、どうしても遅延で音とずれてしまいます。
4
4
 
5
- import time
5
+ sleepの時間を早めると治りますが、そうすると今度は早すぎてしまいます。
6
6
 
7
+ sleepかprintが遅延を一番発生させていると思います。
7
8
 
8
-
9
- start = time.time()
10
-
11
- time.sleep(1)
12
-
13
- delay = time.time() - start
14
-
15
-
16
-
17
- print(delay)
18
-
19
- # 1.0014595985412598
20
-
21
- ```
22
-
23
- これの`1.0014595985412598`の`0.0014595985412598`をなるべくなくしたいです。
24
-
25
- どうすればマシになでしょうか?
9
+ どうにかできでしょうか?
26
-
27
- やはりC言語などでコードを書く方がいいでしょうか?