Fallman » Ср сен 19, 2007 4:28 pm
$this->bbcode_second_pass_quote('Aleg', '')еханикоэлектронными особенностями дэвайса от клавиши и до разъема DIN.
Не согласен. Можно на одну и ту же клавишу нажать с разной скоростью, это раз. Второе, тут задействовано несколько больше электронных устройств чем видится на первый взгляд. Давайте разберёмся.
1. М/сх которая постоянно сканирует матрицу клавиш и при нажатии передаёт код клавиши в контроллер клавиатуры по интерфейсу PS/2 например. Вопрос 1 - какой цикл сканирования всей матрицы клавиш? Я думаю ответ можно найти только в даташите на конкретную м/схему.
2. Передача происходит в последовательном виде, т.к. на PS/2 имеется только 4 проводника (+5V, GND, Data и Clock). Возможно используется ИКМ кодирование. Однако широко известен тот факт, что скорость работы интерфейса PS/2 можно менять где-то от 50 до 200 посылок в секунду. Т.е. та м/схема которая в клавиатуре не генерирует прерывания, а её опрашивают. Скорость опроса зависит от скорости на которую настроен интерфейс PS/2. Опять же задержки в передаче информации могут быть разные.
3. Поступил код нажатой клавиши в собственно контроллер клавиатуры, встроенный например в:
http://www.ite.com.tw/product_info/PC/B ... 8712_2.asp, каково время генерации прерывания контроллера клавиатуры встроенного в этот чип? Зависит от контроллера, а они могут быть разными (слегка отличаться, ITE и Winbond например). Тоже неопределённость.
4. Далее, каково время обработки прерывания самой ОС? Для NT ядер не менее 5-7 мс, если чаще - система теряет прерывания. Это было выявлено при разработке гигабитных сетевых адаптеров. Поэтому для них и ввели т.наз. Jumbo Frames, чтобы адаптер генерил прерывания реже.
Итак что мы имеем.
$this->bbcode_second_pass_quote('Aleg', '')то-то о 8 мс,
ИМХО очередной чистый развод лохов на бабки.