Оптимизированы ли браузером закадровые CSS-анимации с бесконечной петлей? - PullRequest
2 голосов
/ 28 апреля 2019

Существуют ли какие-либо оптимизации в браузере для бесконечно запущенных CSS-анимаций за экраном (бесконечные анимации, которые применяются к элементам, которые присутствуют / отображаются в документе, но не отображаются на определенном экраневремя)?

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


Если у нас есть CSS-анимация , которая имеет animation-timing-function: infinite;, , как она обрабатывается, если анимированный элемент фактически не отображается на экране / в поле зрения ?

Существует несколько известных сценариев, касающихся анимации, которые не имеют отношения к этому случаю использования:

  • Анимация будет приостановлена, если вкладка браузера будет перемещена в фоновый режим. MDN
  • Анимация игнорируется, если элемент удален из документа, с чем-то вроде display: none; (не удается найти источник цитируемого источника);

Если элемент просто «за пределами прокрутки», и пользователь может получить к нему доступ в любое время, в то время как элемент находится за пределами экрана:

  • Анимацияработает как обычно, и имеет тот же расход, независимо от того, видим элемент или нет?

  • Работает ли он как обычно, но, поскольку он не окрашен, сам процесс становится менее дорогим?- имеет больше смысла.

  • Анимация полностью приостановлена?- предположил бы, что нет, так как браузер должен знать, каким был бы «текущий прогресс» в тот момент, когда элемент должен быть перерисован заново.

  • Или есть какие-либо другие в браузерепроцессы, которые оптимизируют это, когда эти условия будут выполнены?


Любой задокументированный ответ или любое перенаправление на какой-либо ресурс, который может пролить некоторый свет на этот вопрос, будет принята с благодарностью.


Это обсуждение будет иметь отношение к определению того, стоит ли учитывать ручное удаление бесконечных анимаций (для элементов, находящихся за пределами экрана), для достижения лучшей производительности.

...