Zacząłem czytać o technologii internetowej dostępnej do robienia gier internetowych tylko z Javascriptem, ale nie mam skąd opinii na temat SVG z HTML5. Czy to realny wybór? Czy działa dobrze w porównaniu do innych technik, takich jak Canvas, DOM i CSS Transformation itp.
performance
web
svg
HoLyVieR
źródło
źródło
Odpowiedzi:
SVG jest obsługiwany w HTML5; Czy przeglądarka, z której korzysta Twój odtwarzacz, to inna historia.
W zależności od potrzeb powinieneś sprawdzić RaphaelJS . Raphael zapewnia obsługę IE-SVG, przechodząc na VML podczas renderowania dla IE. Raphael zapewnia wiele funkcji, w tym animacje i obsługę czcionek Cufon. To zdecydowanie warte obejrzenia.
Ponieważ SVG jest częścią DOM, dołączenie zdarzeń DOM, takich jak „kliknięcie” i „najechanie” na utworzone elementy SVG, jest dość proste. Może to sprawić, że SVG będzie bardziej odpowiedni dla wyświetlaczy typu HUD niż animowanych duszków itp.
Prawdopodobnie masz przed sobą wiele testów, aby określić względną charakterystykę wydajności SVG w stosunku do płótna.
Prosta manipulacja DOM będzie prawdopodobnie najgorszym ze wszystkich. Gdy zmieniasz rzeczy w DOM, silnik układu przeglądarki ponownie oblicza układ strony, aby uwzględnić twoje zmiany, co prawdopodobnie zabije wydajność twojej gry. Jeśli musisz iść tą drogą, preferuj CSS (zwłaszcza funkcje specyficzne dla CSS3, takie jak transformacje i klatki kluczowe).
źródło
Zajrzyj na tę stronę, aby zobaczyć kompatybilność SVG. W tej chwili jest to w najlepszym razie podejrzane i nie poleciłbym tego do niczego innego niż testowanie wersji demonstracyjnych gablot.
Nie oczekuj, że ludzie będą korzystać z najnowszej i najlepszej przeglądarki.
Myślę, że używanie SVG byłoby ogromnym błędem i zniechęciłoby użytkowników, gdy zobaczyli, że coś się zepsuło.
źródło
Lepiej byłoby użyć Canvas. Żadna z nich nie jest obsługiwana w IE, a wiadomo, że canvas jest wykonalną technologią gier internetowych; a ponadto ma przyzwoitą szybkość renderowania, szczególnie w Chrome (i najwyraźniej także w IE9, zgodnie z wczesnymi wersjami demonstracyjnymi; nie próbowałem tego ostatnio). Jeśli chcesz celować w starsze wersje IE i / lub platform mobilnych, trzymaj się zwykłego starego DOM, który nie ma bardzo dobrej wydajności, ale nadal jest akceptowalny w przypadku prostych gier (np. Pacman ).
źródło
Krótka odpowiedź tak.
Długa odpowiedź,
Nadal pracuję w środowisku całkowicie zależnym od IE6 i wykorzystałem tę wspaniałą bibliotekę do tworzenia wykresów. (który używa VML dla IE6-IE8) Zdecydowanie uwielbiam płótno i wolę je pisać do gier z js. Więc jeśli chcesz stworzyć grę w svg, powiadam, zrób to, inne gry zostały stworzone przy jej użyciu (patrz przykłady Raphaela). Niezależnie od tego nadal będziesz używać JS, więc jeśli chcesz przejść na płótno, nie będzie to tak bolesne.
źródło