Ich habe eine Anwendung, die eine Los der Zeichnung tut, tun wir so tun, es ist eine Viso-ähnliche Anwendung. Es verfügt über Objekte, die mehrere Unterobjekte haben, die gezogen werden, können die Dinge verbunden werden, verändert usw. Zur Zeit, wenn ich Farbe auf einem bestimmten Unterobjekt oder Objekt aufrufen, ich folgendes tun:Soll ich neue Pens/Brushes pro Paint-Anforderung erstellen oder sie während des gesamten Anwendungslebenszyklus beibehalten?
using(var pen = new Pen(this.ForeColor))
{
// Paint for this object.
}
Ich habe lesen Sie widersprüchliche Antworten, dass dies für eine Anwendung getan werden sollte, die ständig das Gleiche zeichnet (vielleicht nur Größe geändert, verschoben usw.). Sollte ich die Pen/Brush
mit dem Objekt speichern und sie dann alle entsorgen, wenn die Anwendung entsorgt wird, oder sind sie effizient genug für Malanruf erstellt/entsorgt werden (daran zu erinnern, dass dies eine ziemlich grafikintensive Anwendung ist).
BEARBEITEN: Es gibt bereits zwei Antworten, die widersprüchliche Antworten haben und das ist, wo ich nicht sicher bin, den Schalter zu machen. Hat jemand irgendwelche Statistiken über die Unterschiede?
Ja, alle Stifte/Pinsel haben andere Farben als die vordefinierten Farben. – TheCloudlessSky
OK, fair genug. Bitte beachten Sie die Bearbeitung meines Posts. – Andy
Ich habe gerade ein paar Tests gemacht, bevor ich deinen Beitrag überprüft habe und du hast recht, es ist wahnsinnig schnell zu erstellen/zu entsorgen. Eine Optimierung ist in diesem Fall nicht notwendig. Vielen Dank! – TheCloudlessSky