私はループし、tkinterで追加した時間を含めてどれくらいの時間がかかるかを測定したいのです。私はこれらの行を私のループ関数の最後に追加しました。tkinter python.afterでfps(経過時間)を測定する方法は?
.after
の値に基づいて時間の変化量がわかるはずですが、25または5025に設定しても、同じ基本的な結果が得られます。また、ループの始めにtime2=
ステートメントを入れてから、printとtime2=
ステートメントの位置を入れ替えて実験しました。
位置が異なると若干異なる結果が得られますが、そのうちのどれも、時間が追加されていることは明らかです(コードの残りの部分に基づいて)が表示されますが、.after
値の追加時間は表示されません。
私は明らかに「測定」問題があります。私が把握していない重要な知識がありますか?
print time.clock() - time2[0]
time2[0] = time.clock()
root.after(5025, myloop)
あなたは 'after'が実行される前と' myloop'が実行される前に時間を測定しますので、間違った結果を得なければなりません。このコードは答えるには不十分であるため、動作例が少なくて済みます。 – furas
BTWで '5025'を実行すると、' 1000/5025' FPS(約0.199FPS)が得られるはずですが、 'myloop'にコマンドで使用された時間を追加する必要があります。 '' 1000 /(5025 + time_in_myloop) 'FPS – furas
time.clock()はPython 3.3では廃止予定です - process_time()を使うべきです しかし、イベントドリブンの経過時間をキャプチャしようとすると、 .time()の代わりに、time.clock()とprocess_time()はPythonの行を実行するのに必要なCPU時間を測定します。 –