【发布时间】:2012-01-26 03:51:43
【问题描述】:
假设一个相对现代的、支持 SVG 的桌面浏览器和一个由数百个类似的简单节点组成的 SVG:
- 可以将文档设置为多个单独的形状元素(
<circle>、<line>等),并定义自己的属性。 - 可以将文档设置为几个
<symbol>元素和许多单独的<use>实例,这些实例可以适当地放置它们并调整它们的大小(W3 spec)。
我了解使用 <symbols>/<use> 的语义和代码维护原因,但我现在不关心这些,我正在严格地尝试优化渲染、转换和 DOM 更新性能。我可以看到<symbol> 的工作方式类似于在 Flash 中重用 sprite、节省内存并且通常是一种很好的做法。但是,如果浏览器供应商一直这么想,我会感到惊讶(这并不是该功能的真正意图)。
编辑:我不希望在 SVG 的生命周期中更改或添加基本符号,仅更改或添加实例位置、大小等
-
<symbol>/<use>的性能有什么明确的模式吗? - 对于单个浏览器实现而言,它有多么特殊?
- 重用
<symbol>与<g>与嵌套<svg>之间有区别吗?
【问题讨论】:
标签: performance svg visualization