Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: puh от Август 13, 2014, 10:34



Название: Большая разница в библиотеках Qt5.1.0 и Qt5.3.1
Отправлено: puh от Август 13, 2014, 10:34
Добрый день всем.

Приложение, работающее с QUdpSocket, разрабатываю под Qt5.1.0.
UDP-пакеты приходят на комп снаружи от некоего девайса (не компьютера), программа при приеме пакетов производит контроль потерянных(не_прибывших/потерявшихся) пакетов.
При передаче пакетов внешний девайс постепенно наращивает скорость передачи.
На определенном этапе, при некоторой скорости пакетов, программа на компе начинает терять пакеты и вообще как-то зависает, и перестает реагировать на нажатия кнопок и т.п. Имею предположение, что программа очень плотно занята обработкой принятых пакетов. Видимо пакетов накапливается больше, чем успевает обрабатываться, и программа практически постоянно находится в обработчике сигнала readyRead сокета.

Определив максимальную частоту пакетов, при котором программа не виснет и не теряет пакеты, я поставил рамки по скорости потока для внешнего девайса.

Недавно мой проект перекочевал под Qt5.3.1 и случилось какое-то ЧУДО, программа уже не зависает и не теряет пакеты при бОльшей частоте поступления UDP-пакетов.
Взял "старый" ехе-шник, собранный под Qt5.1.0, подкинул ему все библиотеки от Qt5.3.1, и программа тоже заработала быстро (по сравнении с работой при старых библиотеках).

Кто-нибудь может объяснить, в чем получился прикол?
Думается, что с еще более новыми библиотеками скорость работы моего приложения может еще подрасти  :)


Название: Re: Большая разница в библиотеках Qt5.1.0 и Qt5.3.1
Отправлено: Bepec от Август 13, 2014, 10:39
Линейка Qt 5 ещё развивается. 5.1 имеет множество глюков/багов/недоработок, которые были исправлены в 5.3. Происходит развитие проекта :)