2013-06-22 30 views
1

我試圖通過將文本時間戳寫入終端窗口來調試滯後機器視覺相機,然後觀察相機「檢測」屏幕更改需要多長時間。我的顯示器具有60Hz的刷新率,所以屏幕每更新一次約17ms。有沒有一種方法可以確定在17ms窗口內的哪一點刷新計時器當前是針對X11應用程序的。如何確定自X11上次屏幕刷新以來的時間長度?

編輯:經過近一天的問題摔跤後,我認爲我應該問的真正問題是如何生成足夠快的視覺信號來測試相機圖像。我的工作假設是相機在傳輸之前緩衝幀,因爲視頻流似乎滯後於其他同步數字事件(在這種情況下,輸出信號到機器人控制器)

+0

X11應用程序對監視器刷新一無所知。 –

+0

同意,但服務器確實這是我需要的信息,以便嘗試隔離攝像機輸入中假定的「延遲」 –

+1

顯示時間戳的簡單程序可以輕鬆地每秒鐘更新視頻緩衝區20000次,每幀之後有'XSync'。這是像我一樣的舊笨重的硬件。視頻卡應該以其標稱刷新率更新顯示器。 –

回答

0

'xrefresh'是一種工具,它可以觸發X服務器上的刷新事件。它通過繪製指定顏色的全局窗口然後將其刪除,導致所有後續窗口重新繪製。即使如此,無論我嘗試做什麼,試圖將捕獲的幀與監視器輸出相關聯時,我仍然得到非常不一致的結果,視頻流似乎滯後於我期望的監視器狀態。這可能意味着相機拍攝速度緩慢或顯示器更新速度緩慢。幸運的是,我最終想到了使用鍵盤LED來驗證相機幀的同步性。 ('xset led'和'xset -led')。這立即向我顯示,實際上,我的電腦顯示器更新緩慢,而不是相機滯後。