Сообщение Re: Помогите с вопросом от 29.03.2024 16:52
Изменено 29.03.2024 16:53 SaZ
Re: Помогите с вопросом
Здравствуйте, milkpot, Вы писали:
M>Здравствуйте, есть устройство, передающее в хост изображения размером 640Х480 пикселей (каждый пискель — 4 байта)
M>со скоростью 50 кадров в секунду по протоколу Udp. У пикселя один байт в оттенках серого, остальные три — это rgb.
M>Первая версия принимала пакеты в главном потоке, в результате чего замерзало окно приложения.
M>Перенос readPendingDatagrams в рабочую нить привел к тому, что приложение перестало принимать пакеты.
M>Wireshark видит, что пакеты приходят к хосту от устройства, а приложение пакеты не видит.
M>Вот фрагменты кода
M>...
Очень тяжело читать такой код (особенно явные сравнения с true/false). Можете убрать всё ненужное и просто сделать пересылку массива байт по udp? Отлаживать пробовали (убедиться что слоты вызываются и т.п.) отладчиком или хотя бы выводом в консоль?
M>Здравствуйте, есть устройство, передающее в хост изображения размером 640Х480 пикселей (каждый пискель — 4 байта)
M>со скоростью 50 кадров в секунду по протоколу Udp. У пикселя один байт в оттенках серого, остальные три — это rgb.
M>Первая версия принимала пакеты в главном потоке, в результате чего замерзало окно приложения.
M>Перенос readPendingDatagrams в рабочую нить привел к тому, что приложение перестало принимать пакеты.
M>Wireshark видит, что пакеты приходят к хосту от устройства, а приложение пакеты не видит.
M>Вот фрагменты кода
M>...
Очень тяжело читать такой код (особенно явные сравнения с true/false). Можете убрать всё ненужное и просто сделать пересылку массива байт по udp? Отлаживать пробовали (убедиться что слоты вызываются и т.п.) отладчиком или хотя бы выводом в консоль?
Re: Помогите с вопросом
Здравствуйте, milkpot, Вы писали:
M>Здравствуйте, есть устройство, передающее в хост изображения размером 640Х480 пикселей (каждый пискель — 4 байта)
M>со скоростью 50 кадров в секунду по протоколу Udp. У пикселя один байт в оттенках серого, остальные три — это rgb.
M>Первая версия принимала пакеты в главном потоке, в результате чего замерзало окно приложения.
M>Перенос readPendingDatagrams в рабочую нить привел к тому, что приложение перестало принимать пакеты.
M>Wireshark видит, что пакеты приходят к хосту от устройства, а приложение пакеты не видит.
M>Вот фрагменты кода
M>...
Очень тяжело читать такой код (особенно явные сравнения с true/false). Можете убрать всё ненужное и просто сделать пересылку массива байт по udp? Отлаживать пробовали (убедиться что слоты вызываются и т.п.) отладчиком или хотя бы выводом в консоль? Зачем вам conditional variable?
M>Здравствуйте, есть устройство, передающее в хост изображения размером 640Х480 пикселей (каждый пискель — 4 байта)
M>со скоростью 50 кадров в секунду по протоколу Udp. У пикселя один байт в оттенках серого, остальные три — это rgb.
M>Первая версия принимала пакеты в главном потоке, в результате чего замерзало окно приложения.
M>Перенос readPendingDatagrams в рабочую нить привел к тому, что приложение перестало принимать пакеты.
M>Wireshark видит, что пакеты приходят к хосту от устройства, а приложение пакеты не видит.
M>Вот фрагменты кода
M>...
Очень тяжело читать такой код (особенно явные сравнения с true/false). Можете убрать всё ненужное и просто сделать пересылку массива байт по udp? Отлаживать пробовали (убедиться что слоты вызываются и т.п.) отладчиком или хотя бы выводом в консоль? Зачем вам conditional variable?