Unsolved why my slot is called Wait 30 seconds after emit
-
this is the case that i emit a two image to a slot using QueuedConnection way.but when the call time is greater than 4000 or more ,it will become very slow to call slot function ,it will be called after 30s
-
Hi,
What are you doing in that slot ?
Where are coming these images from ?
How big are they ?
Are you doing all of that in the same thread ? -
the slot execution time is less than 10ms just show a image on second screen ,the image is from another thread. their size is 3M .
Are you doing all of that in the same thread ?--> no in different thread . -
This post is deleted! -
How fast are you emitting these images ?
-
about 10s~~20s ,if need wait about
30s ,then the later singal will Send it every 40~70seconds -
@jimfar
Hi.- How busy is your event queue?
- Are you sending shared data or raw arrays for the image?
If you are not passing QSharedData (or similar) based data, QueuedConnections are sent via the event queue. This could be a data passing issue copying a large buffer of data and slowing down your connection. If the queue is extremely busy then it may take longer that thought to process the queue.
-
about 10~20s for every times.no i send three QImage to the Mainthread. and i found the QT5.8 not has the similar situation. but QT5.9.1 or QT5.9.3 does have. i will change to the QT5.10 to test