簡體   English   中英

如何使用tkinter python.after測量fps(經過時間)?

[英]How to measure fps (elapsed time) with tkinter python.after?

我有一個循環的函數,我想測量一次旋轉需要多長時間,包括我用tkinter添加的時間。 我將這些行添加到循環功能的底部。

我希望看到基於.after值的時間變化量,但是無論我將其設置為25還是5025,我都會得到相同的基本結果。 我還嘗試了將time2=語句放在循環的最開始,然后還交換了print和time2=語句的位置。

我在不同的位置上得到的結果略有不同,但是它們似乎都沒有顯示.after值的增加時間,盡管我可以清楚地看到(基於其余代碼的作用)正在增加時間。

因此,我顯然有一個“測量”問題。 有沒有我無法掌握的關鍵知識?

print time.clock() - time2[0]     
time2[0] = time.clock()    
root.after(5025, myloop)

根據上面的評論,您可以實現經過時間的功能,如下所示:

import time

def get_elapsed_time()
    startTime = time.time()
    my_loop()
    endTime = time.time()

    elapsedTime = endTime - startTime
    print elapsedTime

time.time()代表自Linux 時代 (1970年1月1日)以來的時間流逝-在此處了解更多信息: https : //en.wikipedia.org/wiki/Unix_time

因此,上述函數會將startTime設置為“ Linux Universal Time”,並循環訪問my_loop()函數,最后將endTime設置為“ Linux Universal Time”。 endTimestartTime之間的差異表示從調用get_elapsed_time()函數到結束之間的時間間隔,即my_loop()函數結束后的my_loop() 有效地,這將打印my_loop()函數運行的時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM