MrCodeycode
25th February 2014, 10:09
Hi,
I am using QUdpSocket to stream an image locally, and I have noticed after a few hours that the write speed seems to fluctuate, as illustrated in the attached pic.
My program is basically:
connect sendimage() to slot_sendimage()
in a Qthread run loop:
@35Hz, emit sendImage();
Slot definition
slot_sendimage()
{
// say about 30 datagrams per image
for(int a = 0; a < 30; a++)
{
// 4 byte packet header
QByteArray UdpHeader(headerdata,sizeof(headerdata));
// 8188 byte packet data
UdpHeader,append(packetdata);
UdpSocket->writeDatagram(UdpHeader.data(), UdpHeader.size(), QHostAddress(HOST), PORT);
}
// Get the rate at which slot_sendimage() is executed and plot
}
As I said, everything is fine for about 2 hours, then the writeDatagram rate starts to jump around. I am unsure is this a signal->slot issue, a QByteArray.append issue, a QUdpSocket issue, or some ubuntu network management issue.
Any help or input would be much appreciated.
I am using QUdpSocket to stream an image locally, and I have noticed after a few hours that the write speed seems to fluctuate, as illustrated in the attached pic.
My program is basically:
connect sendimage() to slot_sendimage()
in a Qthread run loop:
@35Hz, emit sendImage();
Slot definition
slot_sendimage()
{
// say about 30 datagrams per image
for(int a = 0; a < 30; a++)
{
// 4 byte packet header
QByteArray UdpHeader(headerdata,sizeof(headerdata));
// 8188 byte packet data
UdpHeader,append(packetdata);
UdpSocket->writeDatagram(UdpHeader.data(), UdpHeader.size(), QHostAddress(HOST), PORT);
}
// Get the rate at which slot_sendimage() is executed and plot
}
As I said, everything is fine for about 2 hours, then the writeDatagram rate starts to jump around. I am unsure is this a signal->slot issue, a QByteArray.append issue, a QUdpSocket issue, or some ubuntu network management issue.
Any help or input would be much appreciated.