2D рисование на прозрачном NSWindow - PullRequest
1 голос
/ 24 февраля 2012

У меня есть прозрачное окно, и я хочу сделать в нем 2D рисунок.Я рассматриваю два варианта:

  1. Quartz 2D
  2. OpenGL

Поскольку у меня вообще нет опыта работы с Quartz 2D, мне интересно: это даст мне лучшую производительность? Моя сцена состоит из линий, кругов и квадратов.

1 Ответ

2 голосов
/ 24 февраля 2012

Это зависит от того, динамична ли ваша сцена, я бы использовал openGL, которая будет иметь лучшую производительность Использование Quartz 2D может быть намного проще с точки зрения написания кода. Но если вам нужно обновить окно много времени, это будет стоить вам.

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

Надеюсь, я был достаточно ясен и полезен.

...