zeichnen 10.000 Objekte auf Leinwand javascript

Muss ich ziehen über 10.000 Bilder (32x32 px) auf der Leinwand aber über 2000 zieht der Vorstellungen ist sehr schlecht.

dies ist ein kleines Beispiel:

Objekt-Struktur {position:0}

for(var nObject = 0; nObject < objects.length; nObject++){
    ctx.save();
    ctx.translate(coords.x,coords.y);
    ctx.rotate(objects[nObject].position/100);
    ctx.translate(radio,0);
    ctx.drawImage(img,0,0);
    ctx.restore();
    objects[nObject].position++;
}

mit diesem code, den ich übersetzen die Bilder, um eine Koordinaten.

Was empfehlen Sie, um die Leistung zu verbessern?

update:

ich versuchen, Schichtung, aber die Leistungen verschlechtert

http://jsfiddle.net/72nCX/3/

  • Je nachdem, was Sie zeichnen, Sie zeichnen könnte Sie über mehrere Leinwände mit der statischen nicht ändern Objekte auf einen zu vermeiden, Neuzeichnen Sie,
  • alle Bilder verändern Ihre position im Zyklus, aber nicht das Bild ändern
  • Könnten Sie setup ein live-Beispiel
  • jsfiddle.net/B72gk
  • können Sie echte Bilder Beispiel? sind alle diese Bilder anders? können Sie vermeiden die rotation? alle diese Bilder ändern Ihre position bei jedem Bild? Mit diesem wissen kann helfen, zu finden-Optimierung.
  • Hallo viliusL das Beispiel-Bild ist sehr ähnlich wie das original-und manchmal ist das Bild auch ändern.
  • WADR, möchten Sie vielleicht ändern Sie Ihre design. 10,000 Elemente wie die in deinem Beispiel fiddle würde überwältigend sein, um die Zuschauer Aufmerksamkeit. Mehr ist nicht immer besser-versuchen Sie Ihr design mit 500 Elementen statt. Die Ergebnisse werden innerhalb der Leistungsgrenzen von html-canvas und innerhalb Ihrer Zuschauer Grenzen der Wertschätzung!

InformationsquelleAutor J261 | 2014-05-05
Schreibe einen Kommentar