2013-11-15 74 views
2

該語言是C#。 我遇到了一個問題:我需要計算以非常高的幀速率運行的遊戲的經過的微秒數。問題:速度太快,秒錶總是在1毫秒內返回0 - >。我用谷歌來解決我的問題,但其他人總是這樣做:如何計算確切的運行時間

毫秒* 1000

這是不是要去工作,因爲毫秒始終爲0 ...

+2

我很想看到100萬FPS遊戲:D – Aybe

+0

秒錶沒有'Miliseconds'屬性,它有['ElapsedMilliseconds'](http://msdn.microsoft.com/en-us/ library/system.diagnostics.stopwatch.elapsedmilliseconds%28v = vs.110%29.aspx)屬性,你使用Stopwatch或DateTime作爲秒錶嗎? –

+0

如果你的幀率高於顯示器的刷新率(通常約爲60赫茲或17毫秒),爲什麼不減慢速度? –

回答

2

使用Ticks

一個詳細的文章可以在這裏找到有關如何使用它們:http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.elapsedticks%28v=vs.110%29.aspx

編輯

或者蒂姆·S.建議,你可以指望有多少幀在第二個發生。

+0

感謝您的回答,但是我怎麼知道我的電腦有多少刻度/秒? – user2997725

+0

@ user2997725閱讀文章,您可以從「頻率」中獲得。 – gleng

+1

閱讀文章:有一個'Frequency'屬性。 –