Уровень поддержки SVG SMIL (анимация) среди браузеров

Кто-нибудь знает текущее состояние поддержки анимации SVG SMIL в популярных браузерах? Это похоже на поддержку Safari, Chrome и Opera. Firefox запутывает отчеты в своих dev-страницах о поддержке SMIL, но я не вижу его как v3.6:

https://bugzilla.mozilla.org/show_bug.cgi?id=216462

Я игнорирую IE, так как они даже не поддерживают SVG вообще, и, вероятно, никогда не будут, тем более SMIL.

Другое дело - просто сравнить эту тестовую страницу между Safari, Chrome и Opera:

http://srufaculty.sru.edu/david.dailey/svg/ovaling.svg

похоже, что Opera является единственной, которая корректно отображает ее. Должны ли мы не использовать SMIL - вроде бы выглядят наполовину испеченные во всех браузерах (к сожалению)? Blast.

Спасибо

Ответы

Ответ 1

http://www.codedread.com/svg-support.php имеет грубое сравнение и упоминает SMIL в Firefox, начиная с версии 3.7. Об IE, возможно, среда меняет все, смотри: live.visitmix.com/MIX10/Sessions/EX30

Ответ 2

Ограничения Gecko:

  • no <animateColor> — не планируется
  • нет времени закрытия экрана; не планируется
  • анимация списков преобразований неэффективна/незавершенна — должен быть установлен примерно к декабрю 2011 года.
  • чрезмерное использование CPU — некоторые улучшения должны быть доступны к декабрю 2011 года.

Кроме этого, я подозреваю, что Gecko является наиболее spec-совместимым из основных браузеров. (В частности, попробуйте выполнить некоторые из следующих тестов с другими браузерами: http://mxr.mozilla.org/mozilla-central/source/layout/reftests/svg/smil/syncbase/)

Он делает огонь событий DOM и всегда имеет (фактически, это одна из причин низкой производительности). Однако, как того требует спецификация SMIL, события DOM не запускаются во время поиска.

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

Ответ 3

Обновленный обзор текущей поддержки браузера находится на http://caniuse.com/svg-smil

В настоящее время (21-окт-2012) все основные настольные и мобильные браузеры имеют хотя бы частичную поддержку svg-smil с заметным исключением IE9.

Ответ 4

В Firefox 3.6 нет SMIL. IE 9 будет выполнять SVG, но не будет SMIL. Microsoft полагает, что есть особые проблемы для разработки, прежде чем добавить SMIL - и в какой-то степени они правы, ИМО. Как SMIL будет взаимодействовать с другими анимациями, в настоящее время является нерешенной проблемой.

Я просто посмотрел на эту демонстрацию ovaling.svg снова в Firefox 4 в ночное время (примерно на стадии бета 2) в Linux. Это снизило мой процессор до 77%, тогда как Opera использовала только 44%. Или иначе, Opera 10.60 использовала только один из двух моих CPU-ядер, Firefox использовал 1 с половиной. Анимация была действительно гладкой в ​​Firefox, но немного заикалась в Opera.

На моем Thinkpad z61p, работающем под управлением Linux, я не думаю, что Firefox делает какое-либо ускорение GPU (пока), но когда это ударит, я полагаю, что загрузка процессора будет намного меньше.

Chrome 5 терпит неудачу. Анимация не будет запускаться каким-либо действительно полезным способом.

Ответ 5

В моем очень коротком опыте поддержка Opera является самой полной и правильной (я играл с различными типами таймингов и поведения анимации и не заметил никаких ошибок. Opera - единственная, которая запускает события DOM, когда анимация запускается/повторяется/конец).

Gecko в порядке, хотя он не запускает события и неверно истолковывает несколько более сложных анимаций.

WebKit хуже всего. Анимация должна иметь как from, так и to, в противном случае легко найти ошибки в аддитивной/накопительной анимации (состояние анимации не соответствует reset или сбрасывается в неправильное состояние). Удаление анимации node из DOM не означает положение анимированных элементов reset. Кажется, это слишком упрощенное отслеживание состояния анимации. Мне удалось отключить Mobile Safari.

Скорость анимации - по крайней мере, на настольной ОС X - кажется, в той же лиге, хотя анимация в Opera кажется немного менее гладкой, чем в других.

Ответ 6

В настоящий момент ответ мне очень понятен (я только побеспокоил тестирование с этими тремя):

  • Opera
  • Firefox
  • Chrome

Opera - единственный браузер, который может обрабатывать мою игру на данный момент. Остальным двум, кажется, не хватает базовой поддержки для моих, но довольно простых анимаций и манипуляции с анимацией дома. Тем не менее, я еще не потратил больше часа на кросс-браузерную совместимость.

Я делаю своеобразное доказательство концепции только для использования в SVG 1.1 Full и SMIL анимации в игре (вообще нет js-анимации). До сих пор я тестировал (успешно в Opera):

  • движение по пути с квадратичными и кубическими безьерами (и продолжениями с элементами 's' и 't')
  • изменяет путь во время движения
  • обнаружение столкновения вдоль пути и "радарное зрение" с использованием образцов SVGSVGElement.getIntersectionList
  • масштабирование и панорамирование на элементе g, представляющем игровой мир
  • обнаружение хитов на некоторых графических элементах актера
  • динамическое управление скоростью