Ich habe angefangen, mich über die Web-Technologie zu informieren, die für webbasierte Spiele mit nur Javascript verfügbar ist, aber ich habe kein Feedback zu SVG mit HTML5 erhalten. Ist das eine sinnvolle Wahl? Funktioniert es gut im Vergleich zu anderen Techniken wie Canvas, DOM & CSS Transformation usw.
performance
web
svg
HoLyVieR
quelle
quelle
Antworten:
SVG wird in HTML5 unterstützt. Ob der Browser, den Ihr Player verwendet, dies unterstützt, ist eine andere Geschichte.
Abhängig von Ihren Bedürfnissen sollten Sie RaphaelJS ausprobieren . Raphael bietet SVG-ähnliche Unterstützung für IE, indem es beim Rendern für IE zu VML wechselt . Raphael bietet viele Funktionen, einschließlich Animationen und Unterstützung für Cufon-Schriftarten. Ein Blick lohnt sich auf jeden Fall.
Da SVG ein Teil des DOM ist, ist es ziemlich einfach, DOM-Ereignisse wie "click" und "hover" an die erstellten SVG-Elemente anzuhängen. Dadurch eignet sich SVG möglicherweise eher für HUD-Anzeigen als zum Animieren von Sprites usw.
Sie haben wahrscheinlich eine Menge Tests vor sich, um die relativen Leistungseigenschaften von SVG im Vergleich zu Canvas zu bestimmen.
Straight-DOM-Manipulationen werden wahrscheinlich die schlimmsten sein. Wenn Sie Änderungen im DOM vornehmen, berechnet die Layout-Engine des Browsers das Layout der Seite neu, um Ihre Änderungen zu berücksichtigen, die möglicherweise die Leistung Ihres Spiels beeinträchtigen. Wenn Sie diesen Weg gehen müssen, bevorzugen Sie CSS (insbesondere CSS3-spezifische Funktionen wie Transformationen und Keyframing).
quelle
Besuchen Sie diese Website , um die SVG-Kompatibilität zu überprüfen. Im Moment ist es bestenfalls zwielichtig und ich würde es für nichts anderes als Test-Demos für Vitrinen empfehlen.
Erwarten Sie nicht, dass die Benutzer den neuesten und besten Browser verwenden.
Ich denke, die Verwendung von SVG wäre ein großer Fehler und würde Ihre Benutzer scheuen, wenn sie Fehler bemerken.
quelle
Mit Canvas sind Sie viel besser dran. Keiner von beiden wird im Internet Explorer unterstützt, und Canvas ist als funktionsfähige webbasierte Spieletechnologie bekannt. Außerdem hat es eine ordentliche Rendergeschwindigkeit, besonders in Chrome (und anscheinend auch in IE9, laut den frühen Demos; ich habe es in letzter Zeit nicht ausprobiert). Wenn Sie auf ältere Versionen von IE und / oder mobilen Plattformen abzielen müssen, bleiben Sie beim alten DOM, das keine sehr gute Leistung bietet, aber für einfache Spiele (z . B. Pacman ) noch akzeptabel ist .
quelle
Kurze Antwort ja.
Lange Antwort,
Ich arbeite immer noch in einer Umgebung, die vollständig von IE6 abhängig ist, und habe diese wunderbare Bibliothek für Diagramme verwendet. (die VML für IE6-IE8 verwendet) Ich liebe Canvas definitiv und bevorzuge es zum Schreiben von Spielen mit js. Wenn Sie also ein Spiel in Svg erstellen möchten, sage ich, tun Sie es, dann wurden andere Spiele damit erstellt (siehe Raphael-Beispiele). Unabhängig davon, ob Sie JS weiterhin verwenden, wird der Übergang zur Leinwand nicht so schmerzhaft sein.
quelle