Russian Qt Forum
Ноябрь 23, 2024, 15:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QUdpSocket, приоритеты и тормоза  (Прочитано 2050 раз)
Pavlya
Гость
« : Апрель 08, 2013, 14:10 »

Здравствуйте. Пишу udp сервер и с толкнулся с такой проблемой: сервер запущен в отдельном потоке и принимает  датаграммы каждые 20 mS. Приоритет потока поднят до приоритета реального времени (QThread::TimeCriticalPriority). Чтение поступивших данных осуществляю по сигналу readyRead(). Пакеты  приходят, сервер их разгребает. Все хорошо до того момента, пока я не запускаю браузер на этой же машине. В момент старта браузера происходит задержка пакетов (delay spike), а затем они все сваливаются на сервер. Теперь о проблеме: задержка в момент запуска браузера (измеренная c  помощью WireShark) составляет около 200 mS.  Эта же задержка, измеренная с помощью QElapsedTimer в слоте сервера составляет около 800-900  mS. Грешу на network модуль от Qt (а точнее на поток), в котором происходит отслеживание состояния сокетов в ОС. В process explorer вижу свой поток, который запущен с TimeCriticalPriority приоритетом и поток обработки событий сокетов, у которого нормальный приоритет. И он, похоже, тормозит все дело. Есть ли возможность поднять его приоритет?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.082 секунд. Запросов: 21.