Вверх ↑
Ответов: 165
Рейтинг: 7
#1: 2018-11-20 02:09:04 ЛС | профиль | цитата
Все таки не удержался, надо как-то реагировать на сарказм.
Время я считал по отчетам сниффера от agg, а он построен на основе фильтр-драйвера который крутится в 0-м кольце, и в его отчеты можно верить. Могу выслать файл логирования или видео с цифрового осциллографа,так что я могу судить о миллисекундах. Гравное обеспечить несколько критериев:
1а -идеал написание драйвера режима ядра
1б отдельный поток с повышенным приоритетом
2 в системе не должно быть привилегированных процессов.
3 перед вызовом функции передачи сброс времени потока передачей остатка времени
4 вздрючивание приоритета до мышиного 31го
5 вызов передачи (в буфер fifo)
6 цикличный опрос буфера передачи на предмет опустошения
7 сброс приоритета потока.
Это все для того что бы передачу не рвало,в принципе передачу порвать и не может, может произойти опустошение буфера.
8 на callback функции вашего ммтаймера
делаете ваши 4 мс задержки тишины, а можете и больше все равно все на него наплевали.
Именно так сделан мой драйвер спокойно тянущий 0.5мбит.
9 после установки программы в автозагрузку выдергивается клава и мыш,все порты опечатываются стикерами
карма: 1

0