簡體   English   中英

讓 python.sleep 隨計算時間變化

[英]Have python.sleep variate with computation time

對於 animation 項目,我們想要 model 可變數量的對象。 這意味着計算和渲染部分將花費可變的計算時間。 但我們希望 animation 的幀速率保持不變。 所以我們想計算一段代碼花費了多少時間,如果它小於預期的幀速率,我們在計算下一幀之前等待剩余的時間。

是否有捷徑可尋?

一種方法是使用 time 庫,它有一個 time 方法,可以讓你計算一段代碼執行的時間,下面是一個例子。

import time
start_time = time.time()
#Your code here
end_time = time.time() - start_time
print(end_time)

你秒表時間,然后睡 1-x 秒。

sleep_time = 1/1 #Second number is frames per unit of time, first number is unit of time. In seconds.
from time import time #Important function: time(): Secs since unix epoch
while True: #Init animation
    init_time = time() #Init stopwatch
    #Code here Do your code
    timer = time()-init_time #End stopwatch and remember time in a variable.
    while time() < init_time+sleep_time-timer: pass #Wait ___ seconds
    #Restart and go to next frame.

如果您編寫的代碼持續時間超過“睡眠時間”,則它不會等待。

希望這會有所幫助,祝動畫制作好運!

暫無
暫無

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

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