Веб-приложение в SVG, проблемы производительности и жизнеспособности - PullRequest
6 голосов
/ 30 августа 2010

Мы - новый стартап, который собирается разработать веб-приложение для индустрии моды. Мы думали о работе с canvas (нас не беспокоит поддержка IE), но теперь, прочитав о Raphaeljs и jQuerySVG, мы заинтригованы возможностями создания всего интерфейса и модулей в SVG.

Вот преимущества, которые приходят мне в голову:

  • независимо от разрешения
  • возможность масштабирования предметов и сохранения формы и внешнего вида
  • Оптимизация браузеров на подходе
  • нам не нужно рисовать все на холсте, мы можем использовать координаты для рисования единиц (предметов)
  • нет необходимости изучать XML; легко освоить и использовать?
  • SVG довольно широкий, поэтому должен комфортно обрабатывать различные формы дизайна
  • подобно холсту, мы можем использовать функции HTML5 и CSS3 наряду с SVG (перетаскивание, расширенные эффекты CSS3), даже эффекты jquery
  • поскольку мы не собираемся использовать какой-либо сложный 3D-рендеринг, поэтому, по-видимому, не должно быть слишком большого снижения производительности с полноэкранными векторами?

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

Мы изучали холст почти две недели и убеждены, что можем извлечь из него все наши потребности, но если SVG сможет сделать то же самое, это будет здорово и действительно предпочтительнее (?).

Приветствия

Ответы [ 2 ]

3 голосов
/ 31 августа 2010

Немного несортированной пищи для размышлений:

Холст - это просто растровое изображение.Это быстрее при рендеринге большого количества объектов.С другой стороны, SVG должен поддерживать ссылки на каждый объект, который он визуализирует, и значительно замедляет его с помощью тонны объектов.

... но эти ссылки означают, что часть работы с нарисованными объектамисделанно для тебя.Кроме того, SVG работает быстрее при рендеринге действительно больших объектов.

Однако SVG получил меньшее распространение, чем Canvas.Но у браузеров есть и то, и другое, поэтому я не вижу особого беспокойства, я думаю.

Возможно, игра на Canvas будет быстрее.Вероятно, огромная программа для карт была бы быстрее в SVG.

Некоторая оптимизация браузера для Canvas уже здесь.На прошлой неделе состоялся дебют аппаратного ускорения в Chrome 7.0.В IE9 Preview и Opera уже есть аппаратное ускорение (не помню FF).

Canvas все еще очень живая спецификация (MeasureText возвращает ширину, но не высоту!), Но мне понравилось работать с нейпока что.

0 голосов
/ 31 августа 2010

Я использую SVG для простых логотипов и значков, и единственной проблемой является ошибка веб-набора, связанная с отображением фона белым, а не прозрачным, как это делают другие браузеры. На медленной машине я заметил, что при первом рендеринге мигают семь объектов, один за другим, но я не знаю, делаю ли я что-то не так.

...