| 

.NET C# Java Javascript Exception

1
Bei meinen ersten Versuchen mit HTML5 stoße ich immer wieder auf die Frage, wann ich eine grafische Komponente besser mit einem <canvas>-Element realisieren soll und wann besser mit SVG. SVG erscheint mir mächtiger, aber schwerer zu lernen. Hat jemand eine Meinung dazu?
02.05.2012
eURe 1 1
1 Antwort
0
Hi eURe,

Das hängt hauptsächlich vom Anwendungsfall ab:

SVG eignet sich hervorragend für skalierbare Inhalte oder die Darstellung von Interaktiven Graphen/Diagarammen etc. Da jedes SVG-Element auch nur ein Element im DOM ist, lassen sich hier vorzüglich die bekannten Event-Listener verwenden, um beispielsweise zusätzliche Daten anzuzeigen.

Mit steigender Zahl der dargestellten Informationen wird SVG langsamer. Da es eben jedes einzelne Element als DOM-Knoten beherbergt, lädt die Seite langsamer, auch die Performance im Umgang mit Interaktivitäten sinkt.
Hier kommen die Vorteile von Canvas ins Spiel. Es erzeugt lediglich Bitmap-Grafiken. Ein klassisches Mandelbrot-Fraktal (letzen von extrem vielen einzelnen Pixeln) ist in Canvas deutlich schneller gezeichnet als mit einem SVG.
Das gleiche Gilt für die meisten dynamischen Inhalte in annähernd Video-Qualität. Hier ist Canvas einfach schneller.
Interaktionen werden hier allerdings nicht unterstützt. Mauspositionen müssen sozusagen "raw" eingelesen und selbst interpretiert werden.

Zwischen den hier vorgestellten extremen Anwendungsfällen gibt es noch einen Haufen weitere.
Unter http://www.sitepoint.com/how-to-choose-between-canvas-and-svg/#fbid=BUPfGlbSRrB gibt es dazu noch differenziertere Angaben.

Grüße,
huckepick
02.05.2012
huckepick 887 2 8

Stelle deine Web-Frage jetzt!