crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> 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 приоритетом и поток обработки событий сокетов, у которого нормальный приоритет. И он, похоже, тормозит все дело. Есть ли возможность поднять его приоритет?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.11.2024, 15:06