чем больше я читаю о различных типах представлений / контекста / рендеринга, тем больше я запутываюсь.
относительно http://en.wikipedia.org/wiki/Quartz_%28graphics_layer%29
MacOSX предлагает Quartz (Extreme) в качестве рендеринга, который сам является частью Core Graphics.
в документах Apple и в некоторых книгах также говорится, что в любом случае вы каким-то образом используете OpenGL (очевидно, поскольку эта операционная система использует OpenGL для визуализации всего своего пользовательского интерфейса).
В настоящее время у меня есть приложение, которое должно захватывать видео в режиме реального времени с камеры (через QTKit, который основан на Quicktime, но является Какао), и я хотел бы дополнительно обработать кадры (через Core Image, шейдеры GLSL и т. Д.) .
пока все хорошо. Теперь мой вопрос - имеет ли это значение для производительности, если вы
- а) нарисовать захваченный кадр через Кварц и косвенно через OpenGL или
- b) если вы установили контекст OpenGL и DisplayLink и явно нарисовали буферизованное изображение через OpenGL?
Каковы будут преимущества или недостатки в любом случае?
Я смотрел на различные примеры (особенно CoreImage101 и CoreVideo101) и документы со страниц разработчиков Apple, но я не понимаю, почему они идут (или должны идти) таким образом?!?
и я действительно не понимаю, где Core Video и Core Animation входят в игру?
будет ли путь б) автоматически означать, что я использую Core Video? и каким образом я могу использовать Core Animation?
дополнительная информация:
p.s .: Кстати, я на Леопарде, так что пока нет путаницы в QuicktimeX:)