Я полагаю, что эта проблема действительно связана с производительностью, но я также пытаюсь получить грубую проверку работоспособности.
Я отображаю вид карты (хотя это может быть вид карты или что-то еще, может измениться,и я надеюсь, что это несущественно), и в верхней части представления карты у меня есть прозрачный подкласс представления.В этом представлении drawRect:
метод я рисую на представлении, используя основные графические вызовы;круги, градиенты и т. д. То, что я рисую, не очень сложно, но не тривиально.Затем у меня есть NSTimer
, который срабатывает каждые X секунд, вызывая [myview setNeedsDisplay]
каждый раз, и то, что он рисует, меняется на каждом временном шаге (круги становятся больше, цвета и градиенты меняются, и т. Д.).
Является ли это правильным способом сделать этот тип векторной анимации?Я получаю очень низкую производительность X, кажется, не лучше, чем около 0,25.Я хотел бы 0,05 или меньше.Есть ли другой способ сделать что-то?У меня такое ощущение, что я либо стратегически отстранен, либо это бесполезно.Я могу делать что-то с CoreAnimation - например, увеличивать и уменьшать изображения и тому подобное, и это очень быстро (почему?), Но оно не дает мне нужный мне контроль ...
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: уменьшение количества рисунковСложность (меньшее количество кругов, градиентов и т. д.) значительно ускоряет рисование, но мне нужно почти ничего не рисовать, чтобы получить плавную анимацию.Является ли эта стратегия NSTimer правильным выбором?Есть ли другой способ сделать анимацию векторного рисования?