該語言是C#。 我遇到了一個問題:我需要計算以非常高的幀速率運行的遊戲的經過的微秒數。問題:速度太快,秒錶總是在1毫秒內返回0 - >。我用谷歌來解決我的問題,但其他人總是這樣做:如何計算確切的運行時間
毫秒* 1000
這是不是要去工作,因爲毫秒始終爲0 ...
該語言是C#。 我遇到了一個問題:我需要計算以非常高的幀速率運行的遊戲的經過的微秒數。問題:速度太快,秒錶總是在1毫秒內返回0 - >。我用谷歌來解決我的問題,但其他人總是這樣做:如何計算確切的運行時間
毫秒* 1000
這是不是要去工作,因爲毫秒始終爲0 ...
使用Ticks
。
一個詳細的文章可以在這裏找到有關如何使用它們:http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.elapsedticks%28v=vs.110%29.aspx
編輯
或者蒂姆·S.建議,你可以指望有多少幀在第二個發生。
感謝您的回答,但是我怎麼知道我的電腦有多少刻度/秒? – user2997725
@ user2997725閱讀文章,您可以從「頻率」中獲得。 – gleng
閱讀文章:有一個'Frequency'屬性。 –
我很想看到100萬FPS遊戲:D – Aybe
秒錶沒有'Miliseconds'屬性,它有['ElapsedMilliseconds'](http://msdn.microsoft.com/en-us/ library/system.diagnostics.stopwatch.elapsedmilliseconds%28v = vs.110%29.aspx)屬性,你使用Stopwatch或DateTime作爲秒錶嗎? –
如果你的幀率高於顯示器的刷新率(通常約爲60赫茲或17毫秒),爲什麼不減慢速度? –