QUdpSocket, приоритеты и тормоза |
Здравствуйте, гость ( Вход | Регистрация )
QUdpSocket, приоритеты и тормоза |
Lyrri |
8.4.2013, 14:31
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 25.11.2011 Пользователь №: 3026 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте. Пишу udp сервер и с толкнулся с такой проблемой: сервер запущен в отдельном потоке и принимает датаграммы каждые 20 mS. Приоритет потока поднят до приоритета реального времени (QThread::TimeCriticalPriority). Чтение поступивших данных осуществляю по сигналу readyRead(). Пакеты приходят, сервер их разгребает. Все хорошо до того момента, пока я не запускаю браузер на этой же машине. В момент старта браузера происходит задержка пакетов (delay spike), а затем они все сваливаются на сервер. Теперь о проблеме: задержка в момент запуска браузера (измеренная c помощью WireShark) составляет около 200 mS. Эта же задержка, измеренная с помощью QElapsedTimer в слоте сервера составляет около 800-900 mS. Грешу на network модуль от Qt (а точнее на поток), в котором происходит отслеживание состояния сокетов в ОС. В process explorer вижу свой поток, который запущен с TimeCriticalPriority приоритетом и поток обработки событий сокетов, у которого нормальный приоритет. И он, похоже, тормозит все дело. Есть ли возможность поднять его приоритет?
|
|
|
Текстовая версия | Сейчас: 23.11.2024, 12:10 |