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