Hi,
I'm afraid this might sound a little vague, but bare with me.
On my application, I have a scrolling marquee constantly scrolling text from right to left. The timer is set to a resolution of 18ms. I've noticed, especially when the application is running in "debug" mode (in visual studio), that the timer scrolling the text will seem to occasionally pause - and not continue again until I move the mouse, click a mouse button or press a keyboard button. It's like the timer gets stuck until some user input occurs.
I've noticed this can occur if a slot called by a widget signal perhaps takes a little too long - unless I decouple it using a short single shot timer of say 5ms. For instance, my app has a tree navigation pane on the left. When the selection changes, I use "onItemSelectionChanged" slot to find the selected item, and change the right hand pane accordingly (usually creating a new frame, populating it with widgets, etc.). Sometimes when I click a tree item, and I'm very careful not to move the mouse afterwards, the scrolling text pauses - until I move the mouse.
It's a large fairly complex app, so there could be another issue causing this, but I've done a lot of testing and it does seem to come down to the timer pausing until some input occurs. I'm not sure if any other timers in the app are pausing as none are as visually obvious as the scrolling text.
Does this ring any bells with anyone? It's not a big problem as I can work round it; plus when I compile the app optimised in release mode the problem does not seem to occur - I'm thinking probably because everything is running faster.
Could it be a problem with fast timers? Perhaps if the timer is set to 18ms and an operation ties up the main event loop for longer than 18ms, it causes the timer to sometimes get stuck? It does seem a little easier to repeat if I speed that timer up.
This is on Windows, using Qt 4.6. I've not tested it on any other platform as I do not yet have the build scripts sorted out.
Thanks.
Mark.
Bookmarks