Архитектура / иерархия моего приложения выглядит следующим образом:
UIView
UIView
CALayer | CALayer | CALayer | CALayer .... (and a few hundred more)
Эти экземпляры CALayer представляют маленькие квадратные точки на матричном дисплее для быстрого отсчета времени. Я обновляю их backgroundColor как можно чаще в секунду. На самом деле я хочу 60 раз в секунду, но я думаю, что устройство не может этого сделать.
У меня есть таймер, который часто вызывает метод. Затем этот метод выполняет итерацию по этим слоям с пиксельными точками и устанавливает для их backgroundColor все, что необходимо прямо сейчас.
Какие советы по оптимизации вам нужны для повышения производительности?
Одна вещь, которая приходит мне в голову:
1) Скажите каждому CALayer, что он непрозрачный!
Я полагаю, что возможностей для оптимизации намного больше. Может быть, не такая плоская иерархия, как у меня, а очень глубокая, где каждый CALayer является подслоем другого? Не уверен.