Suponiendo una, navegador de escritorio SVG-apoyo relativamente moderno y un SVG consta de cientos de, nodos simples similares:¿Los símbolos de reutilización mejoran el rendimiento de SVG?
- El documento podría ser configurado como muchos elementos de forma individuo (
<circle>
,<line>
, etc.) con sus propios atributos definidos. - El documento podría configurarse como unos pocos elementos
<symbol>
y muchas instancias individuales<use>
que los colocan y les asignan un tamaño adecuado (W3 spec).
entiendo las razones semánticas y el código de mantenimiento para usar <symbols>
/<use>
, pero no estoy preocupado por los que ahora, estoy estrictamente tratar de optimizar la prestación, la transformación y el rendimiento de la actualización DOM. Pude ver <symbol>
trabajando de manera similar a la reutilización de sprites en Flash, conservando la memoria y siendo generalmente una buena práctica. Sin embargo, me sorprendería si los proveedores de navegadores hubieran estado pensando de esta manera (y este no es realmente el intento de la función).
Editar: No estoy esperando los símbolos de base a ser cambiado o añadido a lo largo del ciclo de vida del SVG, sólo las ubicaciones de instancia, tamaños, etc.
- ¿Hay patrones claros a
<symbol>
/<use>
rendimiento? - ¿Qué tan idiosincrásico es para implementaciones de navegador individuales?
- ¿Hay diferencias entre reutilizar
<symbol>
vs<g>
vs<svg>
anidados?
Buen punto. En los escenarios que estoy imaginando, los símbolos no cambiarían ni se agregarían durante el ciclo de vida del SVG, solo las instancias. Edité la pregunta para aclarar ese punto bastante importante. – peteorpeter