Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
ВнизИзмерение точного времени по нажатию клавиши Найти похожие ветки
← →
yuri (2003-11-12 16:11) [0]Добрый день.
Мне нужно составить программу-тест, которая определяет реакцию
тестируемого на различные зрительные раздражители.
Поясняю: на экране по заранее определенным параметрам появляются
фигуры, цвета, слова и др. раздражители. Тестируемый при появлении определенного раздражителя должен осуществлять ответную реакцию, т. е. нажимать клавишу.
При использовании TTimer на разных машинах получаются разные
результаты.
Дело в том, что при нажатии клавиши Винда сначала сама обрабатывает это событие, потом определяет к какому приложению относится это событие и только после этого передаёт обработку моей программе, отчего получаются неточные измерения.
Подскажите пожалуйста как перехватить у Винды обработку нажатия клавиши или вообще: Что можно сделать?
Точность изсерения 0,01с.
Заранее благодарен.
← →
Anatoly Podgoretsky (2003-11-12 16:19) [1]Как ты умудрисля сделать с таймером, у него нет возиожности считывать показания, да и задача у него другая - отсчитывать интервалы.
← →
Digitman (2003-11-12 16:22) [2]
> как перехватить у Винды обработку нажатия клавиши
NT - драйвер режима ядра
Маздай - прямой переход в Ring0 с подменой дескриптора шлюза прерывания порта клав-ры на шлюз, ведуший в твой собственный код обработки
← →
MBo (2003-11-12 16:30) [3]возможно, поможет - в winSDK Help описание структуры MSG, а именно - поле time
← →
han_malign (2003-11-12 16:30) [4]> yuri (12.11.03 16:11)
<Отображение события>
dwShowEventTime:=GetTickCount;
<Нажатие на кнопку>
dwResponseTime:=GetTickCount-dwShowEventTime;//миллисекунд
> Digitman © (12.11.03 16:22) [2]
> NT - драйвер режима ядра
- да ладно человека пугать, уж точность 20мс, как нибудь, и через очередь сообщений получится, если, конечно, не блокировать ее длительными вычислениями в обработчиках событий...
← →
yuri (2003-11-12 16:59) [5]Дело в том, что мне нужна точнось 1мс
← →
clickmaker (2003-11-12 17:07) [6]QueryPerformanceCounter / QueryPerformanceFrequency
← →
VMcL (2003-11-12 17:07) [7]Может QueryPerformanceCounter, QueryPerformanceFrequency спасут отца русской демократии?
← →
VMcL (2003-11-12 17:08) [8]2 clickmaker :)
← →
Anatoly Podgoretsky (2003-11-12 17:19) [9]yuri (12.11.03 16:59) [5]
Дело в том, что виндоус не обеспечивает
← →
Digitman (2003-11-12 17:32) [10]
> han_malign
я не пугаю) ... каков вопрос - таков ответ)
← →
han_malign (2003-11-12 17:42) [11]> Дело в том, что мне нужна точнось 1мс
- о как - физическое время обновления экрана, в лучшем случае - 10мс, у ему нужно скорость восприятия с точностью до 1мс. Тем более что известно, что время сброса активного состояния пигмента колбочки 15-30мс, палочки ~100мс, а им еще время нужно, чтобы накопить пороговый заряд, для перехода в активное состояние. Думаешь 24Гц и 25-й кадр с потолка взяли?
Опять экстрасэКсов ищем, со свервосприНятием...
← →
Dimaz-z (2003-11-12 17:44) [12]GetTickCount
← →
АСМиД (2003-11-12 17:55) [13]Можно попробовать использовать в TTimer интервал в 55 мс и, для расчета точного интервала времени, функцию GetSystemtick - время (в милдисекундах), прошедшее с момента запуска Windows.
Вообще реакция человека на внешнее воздействие не превышает 0.5 сек.
← →
han_malign (2003-11-12 18:06) [14]> АСМиД (12.11.03 17:55) [13]
> Вообще реакция человека на внешнее воздействие не превышает 0.5 сек.
- это на видеоинформацию. Реакция на тактильные и аудио раздражители быстрее - время обработки меньше, и тип (а, соответственно, и латентность) сенсоров другие.
← →
АСМиД (2003-11-12 18:13) [15]Может тогда имеет смысл использовать GetSystemTick в цикле с параллельным вызовом ProcessMessage?
← →
yuri (2003-11-12 18:14) [16]Спасибо попробую
← →
yuri (2003-11-12 18:36) [17]У кого ещё какие соображения?
Если можно с примерами.
← →
yuri (2003-11-13 15:38) [18]А нельзя ли написать какой-либо драйвер для клавиатуры, который бы перехватывал событие нажатия клавиши и сразу передавал это событие программе, а не ждать пока его (событие) передаст Винда?
Подскажите пожалуйста что-нибудь, если можно с примером.
← →
sniknik (2003-11-13 15:46) [19]новый цикл
> А нельзя ли написать какой-либо драйвер для клавиатуры
можно, см.
Digitman © (12.11.03 16:22) [2]
с примером облом, нет у меня такого.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.011 c