LINUX.ORG.RU
ФорумTalks

Как правильно замерить задержку клавиатуры/мыши с помощью микрофона?

 , ,


0

1

С ходу не смог нагуглить какую либо инструкцию. Хочу взять дистрибутив с RT ядром и заточенным под низкую задержку микрофона(mini-jack) и прогу для замеров, явно ведь уже кто-то писал такое. Меня вполне устроит погрешность не больше 2 мс.

★★

С ходу не смог нагуглить какую либо инструкцию.

инструкция:

  • в одной нитке делаешь запись с аудиоканала
  • в другой читаешь uinput
  • тут типа делаешь логику, профит

это бесплатно, дальше всё за деньги)

Меня вполне устроит погрешность не больше 2 мс.

2 мс это много, там ненужно RT

anonymous2 ★★★★★
()
Последнее исправление: anonymous2 (всего исправлений: 2)

Как правильно замерить задержку клавиатуры/мыши

С помощью камеры, а то звук тормозит.

ratvier ★★
()

Припаять к схеме светодиод, направить high fps камеру на клавиатуру и монитор одновременно. Посчитать точную e2e задержку по полученному видеофайлу.

snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 3)
Ответ на: комментарий от anonymous2

2 мс это много, там ненужно RT

А фиг его знает может там 10 мс задержка в каком нибудь буфере(в ядре и в PulseAudio). А без какого либо эталона проверить задержку не могу.

V1KT0P ★★
() автор топика

Странно, но гугл на запрос «Как правильно замерить задержку клавиатуры/мыши с помощью микрофона» выдает вполне осмысленные инструкции.

Irma ★★
()
Ответ на: комментарий от snizovtsev

Припаять к схеме светодиод, направить high fps камеру на клавиатуру и монитор одновременно. Посчитать точную e2e задержку по полученному видеофайлу.

Нет у меня high fps камеры. Я даже думал какую приблуду дешевую купить, но что-то помимо готового OSLTT за 200$ не нашел нормальных.

V1KT0P ★★
() автор топика
Ответ на: комментарий от Irma

выдает вполне осмысленные инструкции.

У меня что-то не находит нужное. Есть с дорогущими устройствами, либо через быструю камеру. Хотя проще всего как по мне через звук если особая точность не нужна.

V1KT0P ★★
() автор топика
Ответ на: комментарий от alysnix

а в чем цель эксперимента?

Проверить насколько большие задержки у имеющихся у меня устройств. Если будут слишком большие задержки то подумаю о покупке новых.

V1KT0P ★★
() автор топика

Жгутиками в PureData!

Но в целом всё это мышиная возня, собственные задержки устройств ввода ничтожны и ничтожнее не станут, большинство же латенции - вина ОС.

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 2)
Ответ на: комментарий от V1KT0P

нет задержек у ваши устройств. по усб хост, то есть комп, шлет запрос на данные, и устройство их дает. хост их принимает и обрабатывает. мышь вроде опрашивается раз в 10 мс.

то есть все возможные задержки находятся в хосте, а не устройстве.

зы. вот тут правда пишут что частота опроса не 100 гц, а 125 но это уже детали. https://en.wikipedia.org/wiki/USB_human_interface_device_class

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от alysnix

нет задержек у ваши устройств.

Есть ведь замеры некоторых клавиатур, от нажатия кнопки до получения компом нажатия уходит от 1 мс до 60 мс в зависимости от модели. Это и мышек и геймпадов касается. Вот я и хочу узнать какие значения у меня, если не больше 16 то думаю оставить а если больше то найти получше.

V1KT0P ★★
() автор топика
Ответ на: комментарий от V1KT0P

что такое - «получение компом нажатия»?

нажатие должно пролезть через всякие драйвера, чтобы дойти до софта пользователя. а игрушка - это пользовательский софт.

alysnix ★★★
()
Ответ на: комментарий от alysnix

что такое - «получение компом нажатия»?

Если грубо то пакет с нажатием передан по USB кабелю. То что ты нажал кнопку на клавиатуре еще не значит что микроконтроллер клавиатуры сразу же отправит пакет, так как он там с определенной переодичностью опрашивает матрицу кнопок на нажатие и чем реже он это делает тем больше будет задержка. Для печати текста разницы нету, для игр уже есть.

V1KT0P ★★
() автор топика
Ответ на: комментарий от V1KT0P

проще узнать с какой периодичностью контроллер клавиатуры опрашивает клавиши. потому что только это будет задержкой клавиатуры. узнать из инета(наверняка есть) или самому осциллографом.

alysnix ★★★
()
Ответ на: комментарий от alysnix

проще узнать с какой периодичностью контроллер клавиатуры опрашивает клавиши. потому что только это будет задержкой клавиатуры.

У меня клавиатура опрашивается с интервалом 10 мс, но это не гарантирует что задержка не будет 40-50 мс.

V1KT0P ★★
() автор топика
Ответ на: комментарий от anc

Смяшно пошутили.

Вот тесты задержек USB клавиатур: https://danluu.com/keyboard-latency/

Несмотря на то что:

The USB low speed spec states that the minimum time between packets is 10ms, or 100 Hz.

Там у клавиатур задержки в 50-60 мс, хотя должны быть по идеи не более 20 мс.

V1KT0P ★★
() автор топика
Ответ на: комментарий от t184256

Что такое «найти получше», PS/2 геймпад найдёшь?

Выбрать клавиатуру/мышь у которой гораздо меньше задержка, как пример можно на том же rtings посмотреть замеры.

V1KT0P ★★
() автор топика
Ответ на: комментарий от V1KT0P

На флагманских смартфонах вроде samsung galaxy уже давно есть режим slow motion, можно короткие ролики снять на 480+ fps. На авито такие за десятку купить можно (мой galaxy s10e например).

snizovtsev ★★★★★
()
Последнее исправление: snizovtsev (всего исправлений: 2)
Ответ на: комментарий от snizovtsev

На флагманских смартфонах вроде samsung galaxy уже давно есть режим slow motion, можно короткие ролики снять на 480+ fps.

У меня только 60 Hz монитор, уже будет погрешность в 16 мс. Со звуком попроще так как там непрерывный поток идет.

V1KT0P ★★
() автор топика

по простому, можно микрофон приделать к мыши и направлять звук к клика в левый канал, и запустить игруху, что стреляет и звук от нее - в правый канал. надеть наушники, примерно выровнять громкость каналов и жмакать.

за счет оч высокой чувствительности к фазам и запаздываниям звука у слуха хомосапиенса примерно понять, как одно отстает от другого.

или городить установку навроде этой. https://www.ixbt.com/printers/mouse-button-delay-method.html

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от Irma

вполне осмысленные инструкции

Не гуглил но вангую, что имеется в виду разница по времени между звуком клика и событием нажатия.

no-such-file ★★★★★
()
Ответ на: комментарий от alysnix

или городить установку навроде этой.

Есть даже готовые, но это дорого. Если самому собирать то много времени уйдет. Вот софт написать не под микроконтроллер это быстро.

Мне сейчас мысль в голову пришла купить PC speaker на материнку (у меня как раз разъем есть) и использовать его как эталон для задержки микрофона. Я предполагаю что у него задержка включения явно меньше 1 мс. И продаются по 5$ за две штуки.

V1KT0P ★★
() автор топика
Ответ на: комментарий от V1KT0P

Чтобы посчитать истинную (tm) задержку между мышью и компьютером без монитора, тебе нужно как-то синхронизировать таймеры на «внешнем устройстве», которое зафиксирует клик, и на самом компе.

Т.е. ты можешь сгородить что-то типа локального NTP сервера, чтобы получить одинаковое время, и синхронизировать ими свой телефон и компьютер.

Потом тебе нужно будет как-то получить время клика из звука, и с компьютера. Это может тебя приблизить к погрешности в 1мс.

PS: хотя да, тут опять получается, что измерить нельзя, потому чт нужен ещё один источник данных.

PPS: вариант с игрой тоже плох, потому что там есть небольшой (5мс, например) буфер при обработке звука.

alexmaru
()
Последнее исправление: alexmaru (всего исправлений: 3)

ведь уже кто-то писал такое

Глянь древнюю MouseTester/input_lag ©.
А ещё в андроиде можно отлавливать время всяческих событий в MacroDroid ©.

quickquest ★★★★★
()

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

yu-boot ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)