производительность — анимация SVG javascript не очень удобна для Firefox, но гладкая для Chrome

Анимация SVG javascript на Firefox дергается, но на Chrome плавная

У меня есть простой каркасный рендерер, вывод с помощью SVG. Пример использования есть на сайте:

https://0polymer0.github.io/implementation/Teapot/Teapot.html

Элементы многоугольника, представляющие треугольники, обновляются в цикле анимации.

Средство визуализации svg хорошо работает в Chrome, но не в Firefox. Это можно исправить? А если нет, то почему?

Я думаю, что соответствующий код производительности здесь:

 for(let i = 0; i {amp}lt; mesh.length; i  ){ dom_mesh[i].setAttributeNS(null, "points", triangle2D_to_string(screenspace_mesh[i]) ); } 

Вещи, которые я пробовал

Преобразование вывода dom_mesh childElements() в массив ( dom_mesh ) ничего не изменило. Чтение с детей ничего не изменило. И прямой доступ к атрибутам, а не назначение строк «точкам» ничего не изменило.

Я думаю, что проблема связана с записью в svg, потому что тесты показывают, что именно там браузер проводит большую часть своего времени.

Я открыт к тому, что этот подход не работает, я просто удивлен, что он работает так же хорошо, как и на Chrome. Было бы неплохо понять почему.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector