/ / Aplikacja internetowa w SVG, problemy z wydajnością i żywotnością - aplikacje internetowe, HTML5, Canvas, SVG

Aplikacja internetowa w SVG, problemy z wydajnością i żywotność - aplikacje internetowe, html5, canvas, svg

Jesteśmy nowym startupem, który opracujeaplikacja internetowa dla branży modowej. Myśleliśmy o użyciu kanwy (nie przejmujemy się obsługą IE), ale teraz, po przeczytaniu o Raphaeljsie i jQuerySVG, jesteśmy zaintrygowani możliwościami budowy całego interfejsu i jednostek w SVG.

Oto zalety, które przychodzą mi na myśl:

  • rozdzielczość niezależna
  • możliwość powiększania elementów oraz zachowania kształtu i wyglądu
  • nadchodzi optymalizacja przeglądarek
  • nie musimy rysować wszystkiego na płótnie, możemy użyć współrzędnych do narysowania jednostek (przedmiotów)
  • nie trzeba uczyć się XML; łatwy do nauczenia i użytkowania?
  • SVG jest dość szeroki, więc powinien wygodnie obsługiwać różne kształty projektu
  • podobnie jak canvas, możemy używać funkcji HTML5 i CSS3 wraz z SVG (przeciągnij i upuść, zaawansowane efekty CSS3), a nawet efektów jquery
  • skoro nie zamierzamy korzystać z żadnego skomplikowanego renderowania 3d, więc przypuszczalnie nie powinno być zbyt dużej wydajności z wektorami pełnoekranowymi?

Bardzo chciałbym usłyszeć twoje komentarze oparte na przeszłych doświadczeniach, dotyczące żywotności SVG używanego do renderowania całej aplikacji internetowej.

Patrzyliśmy na płótno przez prawie dwa tygodnie i jesteśmy przekonani, że możemy uzyskać z niego wszystkie nasze potrzeby, ale jeśli SVG może zrobić to samo, byłoby to niesamowite i faktycznie preferowane (?).

Twoje zdrowie

Odpowiedzi:

3 dla odpowiedzi № 1

Nieposortowane jedzenie do przemyślenia:

Canvas to tylko mapa bitowa.Jest szybszy w przypadku renderowania dużej liczby obiektów. Z drugiej strony SVG musi utrzymywać odniesienia do każdego renderowanego obiektu i znacznie spowalnia w przypadku wielu obiektów.

... ale te odniesienia oznaczają, że część pracy nóg związanych z rzeczami, które rysujesz, jest wykonywana za Ciebie. SVG działa szybciej, gdy renderujesz naprawdę duże obiekty.

SVG spotkał się jednak z gorszym przyjęciem niż Canvas. Ale przeglądarki mają teraz oba, więc przypuszczam, że nie widzę tu zbytniego zmartwienia.

Gra byłaby prawdopodobnie szybsza w Canvas. Ogromny program mapowy byłby prawdopodobnie szybszy w SVG.

Oto optymalizacja przeglądarki pod kątem Canvas. W zeszłym tygodniu zadebiutował akceleracja sprzętowa Chrome 7.0. Wersja zapoznawcza IE9 i Opera również mają już przyspieszenie sprzętowe (nie przypominam sobie FF).

Canvas jest nadal bardzo żywą specyfikacją (MeasureText zwraca szerokość, ale bez wysokości!), Ale do tej pory uwielbiałem z nim pracować.


0 dla odpowiedzi nr 2

Używam SVG do prostych logo i ikon i tylkoProblem polega na usterce webkita polegającej na tym, że tło jest renderowane jako białe, a nie przezroczyste, jak robią to inne przeglądarki. Na powolnej maszynie zauważyłem, że siedem obiektów miga jeden po drugim, gdy renderuję je po raz pierwszy, ale nie wiem, czy robię coś źle.