如何确定自X11上最后一次屏幕刷新以来的时间长度?



我正试图通过向终端窗口写入文本时间戳来调试滞后的机器视觉相机,然后观察相机"检测"屏幕变化需要多长时间。我的显示器有60hz的刷新率,所以屏幕每17ms更新一次。是否有一种方法可以确定在17ms窗口内的刷新计时器当前是X11应用程序的哪一点?

EDIT:在与这个问题搏斗了将近一天之后,我认为我真正应该问的问题是如何生成一个足够快的视觉信号来测试相机图像。我的工作假设是,相机在传输帧之前缓冲帧,因为视频流似乎滞后于其他同步的数字事件(在这种情况下,向机器人控制器输出信号)

'xrefresh'是一个可以在X服务器上触发刷新事件的工具。它通过绘制指定颜色的全局窗口,然后将其删除,从而导致所有后续窗口重新绘制。即使这样,当我试图将捕获的帧与监视器输出相关联时,我仍然得到非常不一致的结果,无论我尝试做什么,视频流似乎都落后于我预期的监视器状态。这可能意味着,要么是相机捕捉缓慢,要么是显示器更新缓慢。幸运的是,我最终想到了使用键盘led来验证相机帧的同步性的想法。("xset led"one_answers"xset led")。这让我立刻意识到,其实我的电脑显示器更新太慢了,而不是摄像头滞后了。

最新更新