Обновить

Почему animated SVG не работает во Flutter «как в браузере» — и как я попытался это исправить

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K
Всего голосов 4: ↑3 и ↓1+4
Комментарии6

Комментарии 6

Какой текст ужасный: повторения, повторения, вода, без потери смысла можно все сжать раза в три. В целом-то полезная библиотека под конкретную задачу.

моя первая статья )))

Может проще во flutter делать область браузера а в нём уже рендерить svg. Такой метод был ещё в 90х когда можно было в DOM/OLE затолкать любой контент чуть ли не весь Word/Excel, наверняка сейчас для таких кейсов есть такого рода механизм

Чисто из любопытства, как вы оцениваете результирующий оверхед? ))

Браузер, это js-движок (как минимум для анимации svg), отдельный контекст рендеринга (очень повезёт если можно будет шерить framebuffer / texture в flutter, иначе - дорогостоящее копирования памяти из gpu в ram), не говоря об отдельном dom, storage, etc :D

На засыпку: если несколько анимированных svg нужно показать - несколько инстансов бразуера будем запускать? А если анимированная svg - это спинер, индицирующий фоновую работу- будем браузер для этого запускать (запуск которого или прогрев может быть дольше самой фоновой работы). На всех платформах, и на мобилках тоже. В эпоху дорогущей памяти. ))

это уже проблема разработчиков браузеров, они должны отдавать окно для отрисовки и АПИ для этого дела, включая анимацию векторов, если есть несколько инстансов браузера - не вопрос, никто не запрещает внутренними механизмами запускать только то что нужно а не весь фреймворк. Это всё костыли из 90-х когда приложение не может запускать только то что нужно а втягивает в себя всё окружение dll-ями, следствие закостенелой конструкции заточенной на файлы. Даже если охота из одной dll/so только одну функцию то лоадер грузит весь файл целиком, даже если он с десяток МБ. js-движок не оправдание, webasm ещё никто не отменял равно как webgl для отрисовок. Вообщем это необходимо писать письма в Спортлото о нормальном выделении инстансов с необходимыми требованиями. За 30 лет уже можно было придумать дать кусочек для рендера. Хотя.. только сейчас с вулканом подошли к многопоточному рендеру, до сих пор opengl мог исполняться только с одним инстансом. Вообщем тут надо только потерпеть пока это легаси отправят уже в архив.

как будто в текущих реалиях все забили на то что бы заботиться о производительности. Лишь бы фичей побольше выкатить

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации