我有一个很大的 JS 计算,我想在页面加载时完成。在一台体面的计算机上,计算大约需要 5-10 秒,这太长了,因为浏览器会在这段时间内冻结。
我可以轻松地将计算分成需要大约 8 毫秒来计算的块。我想通过将每个块附加到画布元素来呈现每个块。尝试使用 requestAnimationFrame 分发这些块是否明智?也许有更好的选择(为什么)?
背景信息: 我使用 html2canvas 将页面呈现为图像,然后使用 Superfast Blur ( http://www.quasimondo.com/BoxBlurForCanvas/FastBlurDemo.html ) 对图像进行模糊处理。这样做的原因是为了复制iOS7的磨砂玻璃效果。有关这方面的更多信息,请参阅http://abduzeedo.com/ios7-frosted-glass-effect-html-5-and-javascript。根据页面的尺寸,这需要相当长的时间。