Это зависит от того, динамична ли ваша сцена, я бы использовал openGL, которая будет иметь лучшую производительность Использование Quartz 2D может быть намного проще с точки зрения написания кода. Но если вам нужно обновить окно много времени, это будет стоить вам.
Другим вариантом будет использование обоих через CALayer. Эти слои на самом деле используют openGL для более быстрой визуализации. Таким образом, вы можете рисовать внутри, используя Quartz 2D (CAShapeLayer), а затем вы манипулируете слоем для динамического изменения вашей сцены. Пожалуйста, имейте в виду, что если вы улучшите свой слой, у вас будут артефакты. Таким образом, использование этой техники даст вам максимальный размер слоя.
Надеюсь, я был достаточно ясен и полезен.