2013-06-22 2 views
1

Я пытаюсь отлаживать лаггию камеру видения машины, записывая временные метки текста в окно терминала, а затем наблюдая, сколько времени требуется, чтобы камера «обнаружила» изменение экрана. Мой монитор имеет частоту обновления 60 Гц, поэтому экран обновляется каждые ~ 17 мс. Есть ли способ определить, в какой момент в этом окне 17ms таймер обновления в настоящее время используется для приложения X11.Как определить время с момента последнего обновления экрана на X11?

EDIT: После долгой борьбы с проблемой, я думаю, что реальный вопрос, который я должен был задать, заключался в том, как создать визуальный сигнал, достаточно быстро протестирующий изображения камеры. Моя рабочая гипотеза заключалась в том, что камера перед тем, как передавать их, буферизировала кадры, поскольку видеопоток, казалось, отставал от других синхронизированных цифровых событий (в данном случае выходных сигналов для роботизированного контроллера)

+0

Приложение X11 ничего не знает о обновлении монитора. –

+0

Согласовано, но, безусловно, сервер делает, это информация, которая мне нужна, чтобы попытаться изолировать предполагаемую «латентность» на входе камеры. –

+1

Простая программа, которая отображает временную метку, может легко обновить видео-буфер 20000 раз в секунду, 'XSync' после каждого кадра. Это на старом неуклюжем оборудовании, как у меня. Видеокарта должна обновлять дисплей с номинальной частотой обновления. –

ответ

0

«xrefresh» - это инструмент, который может инициировать событие обновления на X-сервере. Он делает это, нарисуя глобальное окно определенного цвета, а затем удаляя его, заставляя все последующие окна перерисовывать. Даже при этом я все еще получал очень непоследовательные результаты при попытке сопоставить захваченные кадры с выходом монитора, независимо от того, что я пытался сделать, поток видео, казалось, отставал от ожидаемого состояния монитора. Это может означать, что либо камера медленно записывалась, либо монитор медленно обновлялся. К счастью, я в конце концов натолкнулся на идею использования клавиатурных светодиодов для проверки синхронности кадров камеры. ('xset led' и 'xset -led'). Это сразу показало мне, что на самом деле мой компьютерный монитор медленно обновлялся, а камера отставала.

Смежные вопросы