[whatwg] window.setInterval if visible.
derernst at gmx.ch
Thu Oct 15 13:53:54 PDT 2009
Gregg Tavares schrieb:
> I was wondering if there as been a proposal for either an optional
> argument to setInterval that makes it only callback if the window is
> visible OR maybe a window.setRenderInterval.
> Here's the issue that seems like it needs to be solved.
> using setInterval. That's great but it has the problem that even when
> no way to know to stop animating. So, for a CPU heavy animation using
> canvas 2d or canvas 3d, even a hidden tab uses lots of CPU. Of course
> the browser does not copy the bits from the canvas to the window but
> canvas's internal image buffer through canvas commands.
> There are probably other possible solutions to this problem but it seems
> like the easiest would be either
> *) adding an option to window.setInterval or only callback if the window
> is visible
> *) adding window.setIntervalIfVisible (same as the previous option really)
> A possibly better solution would be
> *) element.setIntervalIfVisible
> Which would only call the callback if that particular element is visible.
From a performance point of view it might even be worth thinking about
the contrary: Allow UAs to stop the execution of scripts on non-visible
windows or elements by default, and provide a method to explicitly
specify if the execution of a script must not be stopped.
If you provide methods to check the visibility of a window or element,
you leave it up to the author to use them or not. I think performance
issues should rather be up to the UA.
More information about the whatwg