Frage

Ich denke über eine Website mit einiger ziemlich intensiven JavaScript / Leinwand Nutzung zu machen und ich habe unter Verarbeitung Js und es scheint mir, dass es die Leinwand Manipulation wesentlich einfacher machen würde. Kennt jemand einen Grund, warum ich nicht verwenden Processing.js? Ich verstehe, dass älterer Browser nicht in der Lage sein, es zu benutzen, aber jetzt das ist in Ordnung.

War es hilfreich?

Lösung

Wie bereits erwähnt, IE wird nicht von Processing.js (einschließlich IE8 Beta) unterstützt. Ich habe auch festgestellt processing.js ein bisschen langsam in Bezug auf Leistung zu sein, im Vergleich zu nur Leinwand mit (vor allem, wenn Sie eine Zeichenfolge mit Verarbeitungssprache sind Parsen, anstelle der Verwendung des JavaScript-API).

Ich persönlich bevorzuge die Leinwand API über die Verarbeitung Wrapper, weil es mir die Kontrolle gibt. Zum Beispiel:

Die Verarbeitungslinie () Funktion wird wie folgt durchgeführt (ungefähr):

function line (x1, y1, x2, y2) {
  context.beginPath();
  context.moveTo(x1, y1);
  context.lineTo(x2, y2);
  context.closePath();
  context.stroke();
};

Und Sie es wie folgt verwenden würde (vorausgesetzt, Sie JavaScript lichteten API verwenden):

var p = Processing("canvas")
p.stroke(255)

////Draw lines...///
p.line(0,0,10,10)
p.line(10,10,20,10)
//...and so on
p.line(100,100,200,200)
////End lines////

Beachten Sie, dass jede Zeile () -Aufruf einen neuen Weg zu öffnen und zu schließen hat, während mit der Leinwand API Sie alle Linien innerhalb eines einzelnen beginPath / EndPath Block zeichnen können, die Leistung deutlich verbessert:

context.strokeStyle = "#fff";
context.beginPath();

////Draw lines...///
context.moveTo(0, 0);
context.lineTo(10, 10);
context.lineTo(20, 10);
//...so on
context.lineTo(200, 200);
////End lines...///

context.closePath();
context.stroke();

Andere Tipps

Wenn Sie nicht mit ihm in IE7 OK arbeiten, dann gehen sie. Ich habe es in Firefox 3. Arbeits Es ist eine glatte Art und Weise Silverlight / Flash-Effekte auf Ihre Seite zu bringen.

Meine Vermutung ist, dass Bibliotheken wie Processing.js ändern oder auf einer Überholspur Weg aufgerüstet werden, so machen Sie sich bereit zu laufen, wenn sie mit den neuen Funktionen zu tun und halten zu können.

Es vereinfacht nicht auf der Leinwand zu ziehen. Was es tut, ist die Aufgabe der Animation zu vereinfachen, wenn Sie Leinwand verwenden. Wenn Sie Animation tun, und Sie kümmern sich nicht um vollständige Browser-Unterstützung dann Processing.js verwenden. Wenn Sie nicht Animation tun (wenn Sie Charting oder abgerundete Ecken zum Beispiel tun), dann fügen Sie nicht den Aufwand für Processing.js.

So oder so, ich empfehle, dass Sie lernen, wie die Leinwand-API direkt zu verwenden. die Leinwand api das Verständnis, vor allem Transformationen, werden Sie sehr sogar helfen, wenn Sie Processing.js verwenden.

Ich würde stattdessen verwenden Flash-sagen. Weitere Browser haben Blitz, als die Anzahl der Browser installiert, die mit processing.js arbeiten. Darüber hinaus werden Sie viele bessere Leistung aus dem Flash erhalten im Vergleich mit JavaScript (zumindest für jetzt, obwohl es Projekte in den Arbeiten viel zu beschleunigen JS, aber es ist immer noch ein kleines Stück aus)

Versuchen Sie, die neue JavaScript-Implementierung p5js p5js.org

Oh, und als Antwort auf Leo Antwort, müssen Sie eigentlich nicht verwenden, um die Zeile Funktion bei der Verarbeitung oder p5js, gibt es separaten beingShape und beingPath Funktionen ähnlich der Leinwand api.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top