我需要計時WPF窗口中兩個GUI事件之間的時間間隔 - 具體而言,是一個Button_Click
事件和一個Canvas_MouseLeftButtonDown
事件之間的時間間隔。我正在使用對System.Diagnostics.Stopwatch
的呼叫來測量此間隔。雖然秒錶類內部非常精確(而不是像DateTime.Now
這樣的較低分辨率的替代方案),但我認爲GUI引發的事件之間存在相對較大的粒度,按照幀率的倒數排序(但仍非常短但是對於非常快速的點擊(我能夠管理的最好的顯然是50毫秒),假設的GUI事件延遲可能很重要。有沒有人知道這個粒度是什麼,只是爲了建立誤差條和有意義的數字?在WPF窗口中準確計時用戶交互
1
A
回答
1
您可以設置一些使用SendInput的鼠標點擊到GUI。喜歡的東西:
Initialize manual reset event
Start stopwatch_1
Send mouse click
wait for event
Get elapsed time of stopwatch_1
在你的事件處理程序:
Get elapsed time of stopwatch_1
set event
基本上,通過點擊一個按鈕來啓動測試,有它延遲了幾秒鐘,這樣就可以在按鈕上懸停鼠標一點,你想點擊。
在事件處理程序中讀取時間會告訴您在接收到的點擊和正在執行的處理程序之間有多少延遲。最後一次讀取是總時間,因爲事件處理程序沒有做任何事情,應該是總開銷。減少處理事件所需的時間。
請注意,您不想在GUI線程上等待。您需要調用SendInput
的方法在單獨的線程上執行。
相關問題
- 1. 準確預計一個時間窗口
- 2. 窗口交互性
- 3. 禁用窗口交互iOS
- 4. WPF中的窗口交互/消息傳遞
- 5. 用戶交互後,彈出窗口中的imageView不會更新。
- 6. 在WP8中打開彈出窗口時LongListSelector交互中斷
- 7. 當用戶移動窗口時,PushFrame鎖定WPF窗口
- 8. 的Javascript交叉窗口交互
- 9. 窗體彈出窗口和交互
- 10. JS窗口準備和腳本計時
- 11. 在gui應用程序中進行交互式控制檯/窗口交互
- 12. 確定何時移動WPF窗口
- 13. 如何用自定義窗口替換WPF標準窗口?
- 14. WPF:如何與非活動窗口交互?
- 15. 禁用與主窗口的交互,而打開其他窗口
- 16. 用戶交互後,後臺的Javascript彈出窗口
- 17. 打印到傳真無需用戶交互或彈出窗口
- 18. 實時多用戶交互
- 19. WPF:在用戶交互後顯示和隱藏用戶控件
- 20. 當用戶關閉其中一個窗口時,WPF關閉所有窗口
- 21. 在WPF窗口中使用Microsoft Windows標準樣式?
- 22. C#交互式窗口可以與我的代碼交互嗎?
- 23. 如何在交互式窗口中使用f#函數?
- 24. 當GEF編輯器準備好用戶交互時抓住點
- 25. 當標準用戶登錄時啓動管理交互過程
- 26. 如何在與EditText進行交互時打開彈出窗口?
- 27. 使用NSDateComponents準確計時
- 28. MPAndroidChart在運行時的用戶交互
- 29. 異步計算用戶交互
- 30. Microsoft Visual Studio 2015交互式窗口
@ Jim Mischel - 我會放棄這個,謝謝。或者,我懷疑我可以通過查看'MouseHoverTime'設置爲0時'MouseHover'事件發生的速度來確定GUI監聽器的速率。 –