Рисование CGLayer вне метода drawRect: быстрее? - PullRequest
0 голосов
/ 08 января 2010

Я не совсем уверен, что я спрашиваю ...

... но если создать составные слои в отдельных методах и отрисовать их в виде также вне drawRect: метод ... ... тогда может ли производительность моего приложения повыситься?

Я на самом деле подкласс класса puzzlePiece: UIView, где загадка отрисовывается, но перерисовка теперь вызывается с setNeedsDisplay, поскольку реализация рисования происходит в методе drawRect: Приложение отстает.

Могу ли я улучшить производительность, если избавлюсь от так называемого drawRect: метод?

вещь хочет быть реализованной: http://gotoandplay.freeblog.hu/

1 Ответ

1 голос
/ 08 января 2010

Я думаю, что вы хотите сделать здесь, чтобы у вас был очень простой, простой UIView, который охватывает всю игровую зону. Затем поместите каждую плитку в CALayer и прикрепите все CALayers к UIView, переместите их и поверните их. Тогда не должно быть -drawRect: вообще. Вы будете делать все свои рисунки в своих слоях, и вы должны добиться максимальной производительности таким образом. CALayer в принципе похож на UIView, но гораздо легче (быстрее и проще). CALayer - это в основном представление, которое может рисовать только; он не может обрабатывать прикосновения или события. Это родительское мнение должно сделать это для этого. Но это позволит CALayer быть намного быстрее.

...