Это полностью зависит от того, как вы будете использовать форму;будут ли они перемещаться, сколько из них будет отображаться, будут ли они масштабироваться во время отображения и т. д.
В целом OpenGL ES считается самым быстрым способом рисования на устройствах iOS.Однако, если у вас есть только небольшое количество этих фигур (скажем, <10 ~ 100?), А другая часть приложения не имеет много быстрых анимаций, Quart 2D обычно достаточно для рисования, чтобы:скажем, достичь частоты рисования 30/60 Гц. </p>
Как вы используете Quartz2D, все еще имеет большое значение.Если вам нужно часто перерисовывать фигуры, вам нужно нарисовать фигуру на слоях CALay, и вместо того, чтобы перерисовывать фигуры, вы должны перемещать и преобразовывать слои.
Сравнивая рисование как растровое изображение и векторную форму, я полагаю, что оба отлично подойдут для такого типа фигур (особенно потому, что вы бы не перерисовывали форму так часто, но работали толькослой, на котором изображение уже нарисовано).Но если ваши фигуры часто масштабируются, вы должны рассмотреть векторные изображения для качества изображения.
Подводя итог, узнайте (если вы еще не знаете), как сначала рисовать в графическом контексте (см. Руководство по рисованию и печати для iOS ).Вы должны иметь возможность нарисовать простую векторную форму или растровое изображение, переопределив drawRect
или аналогичные методы внутри объекта UIView.Затем, если вам нужно анимировать эти фигуры, узнайте, как создать CALayer и рисовать на слое (см. Руководство по программированию базовой анимации ).Наконец, если вам нужно создать много дубликатов фигуры на экране, узнайте, как использовать CGLayer для репликации изображения (см. Руководство по программированию в Quartz 2D ).