我正在C#中進行小型打字測試,其中程序要求您輸入一個單詞,然後顯示您的時間。 我正在使用c#timer類(從工具箱中拖拽一個定時器),它的Tick時間爲1ms,但它沒有給我準確的結果,所以我用StopWatch代替它,所以現在的時間是超級的準確,但問題在於,您似乎無法將事件處理程序分配給StopWatch,因此儘管我可以向用戶顯示完成該單詞的時間,但我無法在打字時顯示嗡嗡聲。 想法?C#高精度時序
C#高精度時序
回答
使用另一個計時器,每隔10秒左右觸發事件並輪詢秒錶值。它不會像秒錶一樣準確,因爲它會有滯後,但人類不會比十秒鐘更快地做出反應。
使用秒錶精確測量時間;並使用定時器定期觸發UI更新,並顯示StopWatch測量的時間。對於用戶界面,您不需要1毫秒的分辨率(屏幕更新時間可能會大於1毫秒,並且人眼無法感知更快的更新)。
嘗試更新每個40 - 100毫秒,我認爲這將是足夠的。
使用System.Timers.Stopwatch
類,並通過檢查字段IsHighResolution
(System.Timers.Stopwatch.IsHighResolution == true
)檢查是否有高分辨率。
然後,無論何時您需要觸發某種東西,可以通過另一個定時器以儘可能最小的時間間隔觸發它,它會檢查Stopwatch
的值。雖然這不會是完美的(你甚至不需要接近完美),但它會起作用。
你不需要與真正的明確比較,因爲該屬性已經是一個布爾值... – Joey
謝謝,對我來說工作得夠好 – 7VoltCrayon
- 1. C#高雙精度
- 2. C#高精度計算
- 3. 高精度鼠標事件的高精度計時
- 4. Numpy高精度
- 5. 高精度定時器對象超時
- 6. 輸出精度高於雙精度
- 7. 測試精度高於訓練精度
- 8. C++:高精度隨機雙號
- 9. Python:高精度time.sleep
- 10. 如何在C/C++中高效地計算雙精度到兩精度的精度?
- 11. Swift中的高精度定時器
- 12. 高精度事件計時器
- 13. 配置Windows時間高(亞秒)精度
- 14. 不能使C++程序使用足夠高的精度
- 15. 以高精度在C++中測量時間
- 16. 數精度C++
- 17. C#float精度
- 18. C#雙精度分割時丟失精度
- 19. ELKI如何提高精度?
- 20. 高功率和雙精度
- 21. 爲了提高Tesseract精度
- 22. Java圖形高精度drawArc
- 23. RRD具有高精度?
- 24. cllocation -distanceFromLocation精度不高
- 25. 精度高達1克
- 26. 提高GPS精度的Android
- 27. 高精度數值計算
- 28. 繪製高精度數據
- 29. C#提高文件處理的進度條精度
- 30. 時鐘()精度
完美工作。 – 7VoltCrayon