我无法找到这个问题的答案,当浏览器从缓存中获取SVG时是否会重新计算xml,是否存储了已创建的“IMAGE”? (如何?)
我会想到没有,但后来我注意到重复的svgs加载速度有多快。
我也注意到页面徽标(在移动浏览器中)的速度慢,这让我觉得他们重新计算SVG,所以我已经转移到移动设备上的PNG(显然是缓存的),以节省大量的计算为低端手机工作。
那么,答案可能取决于浏览器/浏览器类型/浏览器设置吗?
*顺便说一句,我的svg是压缩的svgz
答案 0 :(得分:3)
有时确实如此,有时却没有。除非必须,否则大多数浏览器都会努力不去重新渲染事物。 SVG 1.2 Tiny中有一个buffered-rendering属性,如果您使用Opera可能会有所帮助,其他浏览器会尝试自动执行操作而不需要这些提示。
浏览器通常不会将SVG内容缓存为简单的位图。它们通过应用变换,css树结构,渐变等来缓存诸如形状和文本的绝对位置和大小之类的东西,然后使用这些信息,他们可以比每次重绘时更快地重绘内容。此类信息允许浏览器使用部分SVG内容的javascript和SMIL动画以及用户滚动进行复制。