С этой проблемой столкнулся кто-то другой, но я не видел никаких решений - см. (http://openradar.appspot.com/6941930).
У меня есть UIScrollView, слой содержимого которого содержит два CATiledLayers. Один мозаичный слой рисует контент довольно быстро (но достаточно долго, чтобы сделать drawInRect: слишком медленным!), Другой рисует их медленно.
У более быстрого CATiledLayer без Zoom есть настройки LOD по умолчанию с большим размером плитки.
Медленный CATiledLayer масштабируется.
Использование только одного из CATiledLayers ведет себя как ожидалось.
Проблема с добавлением обоих слоев на видимый экран заставляет один или другой вести себя медленно. Досадно, что кажется, что контент, который рисуется обычно быстрее, намного медленнее.
Я еще не нашел способа достоверно узнать, когда один CATiledLayer завершил свою ничью.
Я думаю, что решение будет заключаться в том, чтобы ставить мозаичные слои в очередь, поэтому нарисуйте более медленный плиточный слой, когда закончите более быстрый. Но документация по CATiledLayer довольно плохая.
Я попытался использовать NSTimer и установить его на 3 секунды ожидания перед рисованием 2-го плиточного слоя. Однако это, похоже, не решает проблему! Я потерян!