2016-06-08 14 views
0

Ich habe ein Objekt, das ein Gitter von Linien (für ein Plot-Objekt, an dem ich arbeite), die häufig aktualisiert werden und alle Linien umher verschieben. Wenn das Raster bei 60 fps aktualisiert wird, wäre die Verwendung von CGContextFillRects oder CGContextAddLineToPoint (Rechtecke vs Linien) effizienter?CGContextFillRects vs CGContextAddLineToPoint (rects vs Zeilen) Leistung

Nehmen wir an, ich werde Dinge auf eine ziemlich effiziente Art und Weise implementieren. Zum Beispiel würde ich bei der Linientechnik CGContextMoveToPoint und CGContextAddLineToPoint verwenden, bevor ich die gesamte Gitterlinie auf einmal mit CGContextStrokePath streiche. Für beide Techniken erzeuge ich die Daten, die erforderlich sind, um meine Shapes anders als die drawRect-Methode zu zeichnen.

Anfangs fühle ich mich wie CGContextFillRects ist besser, weil es weniger Code in der tatsächlichen Zeichnung auf der hohen Ebene, die ich betreibe, beteiligt ist, so auf einen Blick scheint es effizienter. Dies bedeutet, dass ich keine Rechtecke brauche und am Ende wirklich Linien mache, also wäre die Erzeugung eines Rechtecks ​​möglicherweise komplizierter, als meine Graphikverarbeitung sein sollte, wenn alles, was ich wirklich brauche, eine Linie ist. Was denkst du alle? Linien oder Rechtecke für mein schnelles Verschieben/Skalieren?

Antwort

0

In der Regel ist bei Computergrafiken das Zeichnen von weniger Pixeln vorzuziehen. CGContextAddLines sieht aus, als würde es erreichen, was Sie wollen, und könnte in der Codelänge kürzer sein als CGContextAddLineToPoint.

+0

Leistung mit das ist marginal besser. Sieht aus wie OpenGL ist der Weg, hier zu gehen. –