有一个非常棘手的问题,我一直试图弄清楚一段时间。本质上,我正在构建一个大型旋转轮,该轮具有多个以不同速度旋转的元件。它大约是 5000px 正方形,但视口是窗口高度的百分比。由于缩放,轮子本身是一个 SVG,因此它在所有设备上看起来都很清晰。SVG 在某些地方有一些非常复杂的路径。
很难解释,所以我对我正在谈论的内容做了一个准系统演示:http: //jsfiddle.net/UsVeZ/3/embedded /result /(在此处编辑:http: //jsfiddle.net/ UsVeZ/13/ )。单击/点击文档以查看它的旋转。
一切看起来都很好,并且在桌面(Chrome + Safari)上运行良好,但是当我在 iPad 上旋转滚轮时,移动 safari 会滞后于渲染。旋转动画本身还算流畅,只是渲染跟不上。我的复杂 SVG 更糟糕(不幸的是,我不允许分享,但演示给出了一个想法)。在 iPad 上查看一下,看看我的意思。
我不太确定如何解决这个问题 - 理想情况下,如果有某种方法可以将整个 SVG 保存在内存中(不确定渲染的工作原理或它为什么会这样做),那就太好了。如果有人有任何想法,甚至有不同的方法来接近,那将是惊人的。