Hallo,
ich habe wieder mal ein altes Problem und bekomme das einfach nicht gelöst.
Ich habe eine UIView in der ich via drawRect() etwas zeichnen möchte. Hierbei wird eine Textur benötigt die hochauflösend ist. Idealerweise möchte ich die UIView - dessen Content - mehrmals in einer Sekunde zeichnen und nutze den Aufruf [self setNeedsDisplay].
Also, angenommen ich möchte das Rectangle mehrmals in einer Sekunde neu zeichnen, dann dauert das ca. 0.5 Sekunden. In dieser Zeit ist es beispielsweise nicht möglich in der TableView zu scrollen.
Es liegt definitiv am Aufruf [self setNeedsDisplay].
Zu gerne würde ich das Zeichnen auf die GPU auslagern aber hierfür habe ich keinen Ansatz.
Ich habe schon in einiger Literatur nachgeschlagen - finde aber keinerlei Ansätze.
Bei meiner Lösung muss das Rectangle tatsächlich immer wieder neu gezeichnet werden - auch komplett. Das geht leider nicht anders, weil ich da mit einer Maske arbeite und die Textur bei jedem Frame um einen definierten Winkel gedreht und danach neu gezeichnet werden muss. Ein primitives Objekt erhält dann diese um ein paar Grad gedrehte Textur.
Ich würde mich sehr freuen wenn Ihr mir ein paar Ratschläge oder konstruktive Ansätze geben könnt. Meine Lösung funktioniert zwar - aber absolut nicht zufriedenstellend.
Recht herzlichen Dank im Voraus!
ich habe wieder mal ein altes Problem und bekomme das einfach nicht gelöst.
Ich habe eine UIView in der ich via drawRect() etwas zeichnen möchte. Hierbei wird eine Textur benötigt die hochauflösend ist. Idealerweise möchte ich die UIView - dessen Content - mehrmals in einer Sekunde zeichnen und nutze den Aufruf [self setNeedsDisplay].
Also, angenommen ich möchte das Rectangle mehrmals in einer Sekunde neu zeichnen, dann dauert das ca. 0.5 Sekunden. In dieser Zeit ist es beispielsweise nicht möglich in der TableView zu scrollen.
Es liegt definitiv am Aufruf [self setNeedsDisplay].
Zu gerne würde ich das Zeichnen auf die GPU auslagern aber hierfür habe ich keinen Ansatz.
Ich habe schon in einiger Literatur nachgeschlagen - finde aber keinerlei Ansätze.
Bei meiner Lösung muss das Rectangle tatsächlich immer wieder neu gezeichnet werden - auch komplett. Das geht leider nicht anders, weil ich da mit einer Maske arbeite und die Textur bei jedem Frame um einen definierten Winkel gedreht und danach neu gezeichnet werden muss. Ein primitives Objekt erhält dann diese um ein paar Grad gedrehte Textur.
Ich würde mich sehr freuen wenn Ihr mir ein paar Ratschläge oder konstruktive Ansätze geben könnt. Meine Lösung funktioniert zwar - aber absolut nicht zufriedenstellend.
Recht herzlichen Dank im Voraus!

