I use 'ondile' event time to time on my panorama.
That means sometime needs onidle event, in sometime doesn't.
Since that, I declare like - set(events.onidle, null) or set(events.onidle, console.info(new onidle event)).
AND THEN call invalidatescreen() only set new onidle event for... just in case.
This works NOT everytime.
I set idletime at 5 like <krpano idletime=5>
However, when the new onidle event triggered, there's no guarantee it's called in 5 sec - sometimes it's faster than 5 or sometimes the new idle event is not called.
My solution is that BEFORE calling 'invalidatescreen()' i should call 'wait(0.1)'.
I'm wondering that this is the best solution for it.
:)