第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Python 中測量短時間間隔的最安全和最可靠的方法?

在 Python 中測量短時間間隔的最安全和最可靠的方法?

桃花長相依 2022-05-11 15:24:08
我對日期時間算術(shù)的了解越多,我就越頭疼。時間有很多種:民用時間世界標準時間泰UNIX 時間系統(tǒng)時間線程時間CPU時間然后時鐘可以跑得更快或更慢,或者向后或向前跳躍,因為夏令時跨時區(qū)移動閏秒NTP同步廣義相對論而如何處理這些又取決于:操作系統(tǒng)硬件編程語言所以請有人告訴我,對于我的具體用例,測量短間隔的最安全和最可靠的方法?這是我正在做的事情:我正在用Python (3.7.x) 制作游戲,我需要跟蹤某些事件發(fā)生后的時間。例如,玩家按住按鈕多長時間,或者敵人發(fā)現(xiàn)玩家多長時間,或者關(guān)卡加載多長時間。時間刻度應該精確到毫秒(納秒是多余的)。以下是我想確保避免的情況:你在深夜玩游戲。在您所在的時區(qū),那天晚上,DST 凌晨 2 點的時鐘向前移動了一個小時,因此分鐘數(shù)為:1:58、1:59、2:00、3:01、3:02。游戲中的每個與時間相關(guān)的變量突然都增加了一個小時——它認為你一直按住那個按鈕 1 小時 2 秒,而不是僅僅 2 秒。災難接踵而至。相同,但 IERS 決定在當天的某個時間插入或減去閏秒。您播放過渡,所有時間變量都會增加或減少額外的秒數(shù)。災難接踵而至。您在火車或飛機上玩游戲,當您越過時區(qū)邊界和/或國際日期變更線時,災難隨之而來。游戲在某些硬件和操作系統(tǒng)上的上述情況下正常運行,但在其他情況下不能正常運行。即它在Linux 上中斷但在Window 上不中斷,反之亦然。而且我不能真正為這些編寫測試,因為有問題的事件很少出現(xiàn)。我需要在第一時間把它做好。那么,我需要使用什么與時間相關(guān)的功能呢?我知道有普通的 old time.time(),但也有一系列令人眼花繚亂的其他選擇,比如time.clock()time.perf_counter()time.process_time()time.monotonic()然后是上述所有內(nèi)容的納秒變體。從閱讀文檔看來,這似乎是time.monotonic()我想要的。但是,如果閱讀有關(guān)計時的所有細節(jié)教會了我什么,那就是這些東西從來都不是它們看起來的樣子。曾幾何時,我以為我知道什么是“秒”?,F(xiàn)在我不太確定。那么,如何確保我的游戲時鐘正常工作?
查看完整描述

1 回答

?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

time 模塊的規(guī)范是查找每個模塊的詳細信息的最佳位置。

在那里,您可以很容易地看到:

  • time.clock()已棄用,應替換為其他功能

  • time.process_time()僅計算您的進程花費的 CPU 時間,因此它不適合測量掛鐘時間(這是您所需要的)

  • time.perf_counter()有同樣的問題time.process_time()

  • time.time()剛剛好,但如果用戶修改當前時間,它會給出錯誤的時間

  • time.monotonic()- 這似乎是測量時間間隔的最安全的選擇 - 請注意,這根本不會給你當前時間,但它會給你兩個時間點之間的正確差異

至于納秒版本,只有在需要納秒時才應該使用它們。


查看完整回答
反對 回復 2022-05-11
  • 1 回答
  • 0 關(guān)注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號