我对不同类型的视图/上下文/渲染后端的了解越多,我就越感到困惑。
关于http://en.wikipedia.org/wiki/Quartz_%28graphics_layer%29 MacOSX 提供 Quartz (Extreme) 作为渲染后端,它本身就是 Core Graphics 的一部分。在 Apple 文档和一些书籍中,他们也说无论如何你都使用 OpenGL(显然因为这个操作系统使用 OpenGL 来渲染它的所有 UI)。
我目前有一个应用程序应该从相机捕获实时视频(通过基于 Quicktime 但是 Cocoa 的 QTKit),我想进一步处理帧(通过 Core Image、GLSL 着色器等)。
到目前为止,一切都很好。现在我的问题是 - 如果你在性能方面重要吗
- a) 通过 Quartz 并通过 OpenGL 隐式绘制捕获的帧或
- b) 如果您设置 OpenGL 上下文和 DisplayLink 并通过 OpenGL 显式绘制缓冲图像?
无论哪种方式都有什么优点或缺点?
我查看了来自苹果开发者页面的不同示例(尤其是 CoreImage101 和 CoreVideo101)和文档,但我不明白为什么他们会(或必须)那样做?!?
我真的不明白核心视频和核心动画在哪里发挥作用?b) 是否自动意味着我使用核心视频?我可以通过哪种方式使用核心动画?
附加信息:
- http://developer.apple.com/leopard/overview/graphicsandmedia.html
- http://theocacao.com/document.page/306
- http://lists.apple.com/archives/quartz-dev/2007/Jun/msg00059.html
ps:顺便说一句,我在 Leopard 上,所以还没有 QuicktimeX 混乱 :)