Предполагая, что относительно современный, SVG-поддержку настольного браузера и SVG, состоящий из сотен подобных простых узлов:Повторное использование символов улучшает производительность SVG?
- Документ может быть создан как многие элементы индивидуальной формы (
<circle>
,<line>
и т.д.) с определены их собственные атрибуты. - Документ может быть настроен как несколько элементов
<symbol>
и многие отдельные экземпляры<use>
, которые размещают их и соответствующим образом определяют их (W3 spec).
Я понимаю, семантические и код-эксплуатационные причины использовать <symbols>
/<use>
, но я не касается тех, кто сейчас, я строго пытаюсь оптимизировать рендеринг, трансформацию и обновление производительность DOM. Я мог видеть, что <symbol>
работает подобно повторному использованию спрайтов во Flash, сохраняя память и, как правило, хорошую практику. Тем не менее, я был бы удивлен, если бы разработчики браузеров так думали (и это не действительно намерение этой функции).
Изменить: Я не ожидаю базовых символов, которые будут изменены или добавлены в течение жизненного цикла SVG, только места, например, размеры и т.д.
- Существуют ли какие-либо четкие закономерности в
<symbol>
/<use>
выступление? - Насколько индивидуальна это индивидуальная реализация браузера?
- Существуют ли различия между повторным использованием
<symbol>
против<g>
против вложенных<svg>
?
Хорошая точка. В сценариях, которые я представляю, символы не будут меняться или быть добавлены в течение жизненного цикла SVG, только экземпляры - я отредактировал вопрос, чтобы прояснить этот довольно важный момент. – peteorpeter