Javascript 在屏幕外画布上未调用Paper.js onFrame

Javascript 在屏幕外画布上未调用Paper.js onFrame,javascript,html,canvas,paperjs,Javascript,Html,Canvas,Paperjs,一旦画布离开屏幕,onFrame事件处理程序就不会被调用(当我在屏幕外设置动画时,当画布在屏幕外时,处理程序就会停止被调用) 即使画布在屏幕外或未显示,是否有方法继续调用事件处理程序 我想将其渲染为three.js纹理 我使用带有setInterval()的计时器中的paper.view.draw()解决了我的问题,但是还有其他合适的解决方案吗?当视图超出浏览器的可视区域时,所有onFrame回调都会停止。处理此问题的代码位于doEvent.requestAnimationFrame的handl

一旦画布离开屏幕,onFrame事件处理程序就不会被调用(当我在屏幕外设置动画时,当画布在屏幕外时,处理程序就会停止被调用)

即使画布在屏幕外或未显示,是否有方法继续调用事件处理程序

我想将其渲染为three.js纹理


我使用带有setInterval()的计时器中的paper.view.draw()解决了我的问题,但是还有其他合适的解决方案吗?

当视图超出浏览器的可视区域时,所有
onFrame
回调都会停止。处理此问题的代码位于
doEvent.requestAnimationFrame
handleCallbacks()
函数中。您可以在那里设置自己的覆盖,就像
keepalive
canvas属性覆盖停止的背景动画一样


然而,我的猜测是,像您已经设置的那样设置一个
setInterval()
计时器可能是实现您想要的最干净的方法。

这是我们为了降低CPU负载而实现的优化的一部分。您可以通过在画布上设置此属性来关闭此行为:keepalive=“true”或:data paper keepalive=“true”

即使设置了此属性,画布也不会在背景中绘制。在多个浏览器上进行了尝试。有没有什么可能导致这种情况不发生,或者其他机制?你能给我们举个例子看看吗?此外,请将其张贴在此处,因为我不太经常使用Stackoverflow: