Чтобы добавить еще несколько комментариев к тому, что написал Стивен:
Каждый рисунок на OS X и iOS в конечном итоге выполняется Open GL.Но есть способы сделать рисование линии:
один - отрисовать линию в растровое изображение с помощью ЦП, а затем отправить полученное растровое изображение в графический процессор, чтобы показать его,
Другой способ - отправить команду рисования в графический процессор, чтобы графический процессор выводил ее на растровое изображение.
Затем, смешивание, анимацияи т. д. работают с полученным растровым изображением в графическом процессоре.
Если вы используете Open GL вручную, 2. это то, что вы обычно делаете.Я не уверен, какой путь рисования UIKit, как UIBezierPath
, использует, но аналог OS X, AppKit, использует метод 1, если вы не подписались, который называется Quartz GL (который в прошлом назывался Quartz 2d extreme):
- Обычно AppKit отрисовывает вещи в растровое изображение и отправляет его в графический процессор.
- При включенном Quartz GL AppKit отправляет команды рисования в графический процессор.
Но Quartz GL по умолчанию не включен из-за различных технических причин, которые подробно описаны в (всегда фантастических) статьях Ars Technica Джона Сиракузы.См. Обсуждения здесь для 10,4 и еще для 10,5 .
Вот одна официальная документация по Quartz GL .