gpt4 book ai didi

cocoa - 硬件加速/性能以及不同 macOS 图形 API、框架和层的链接

转载 作者:行者123 更新时间:2023-12-03 16:39:39 24 4
gpt4 key购买 nike

我对不同类型的 View /上下文/渲染后端了解得越多,我就越感到困惑。

关于http://en.wikipedia.org/wiki/Quartz_%28graphics_layer%29MacOSX 提供 Quartz(Extreme)作为渲染后端,它本身是 Core Graphics 的一部分。在 Apple 文档和一些书籍中,他们说无论如何您都会使用 OpenGL(显然,因为该操作系统使用 OpenGL 来渲染其所有 UI)。

我目前有一个应用程序应该从相机捕获实时视频(通过 QTKit,它基于 Quicktime,但是 Cocoa),我想进一步处理帧(通过 Core Image、GLSL 着色器等) .

到目前为止一切顺利。现在我的问题是 - 如果您这样做,性能是否重要

  • a) 通过 Quartz 绘制捕获的帧并通过 OpenGL 隐式绘制或
  • b) 如果您设置 OpenGL 上下文和 DisplayLink 并通过 OpenGL 显式绘制缓冲图像?

无论哪种方式都有什么优点或缺点?

我已经查看了不同的示例(尤其是 CoreImage101 和 CoreVideo101)以及苹果开发人员页面中的文档,但我不明白为什么它们会这样(或必须这样)?!?

我真的不明白核心视频和核心动画在哪里发挥作用?走b) 路线是否自动意味着我使用Core Video?我可以通过什么方式使用核心动画?

附加信息:

附注:顺便说一句,我使用 Leopard,所以还没有 QuicktimeX 混淆:)

最佳答案

一般来说,OpenGL 只为您提供比高级 API 更大的灵 active 。如果更高级别的 API 不提供您需要的功能,那么您很可能需要下降到 OpenGL 层。

如果他们确实提供了您需要的一切,那么您的速度应该相当。考虑到 Objective-C 的开销,也许会有很小的(几乎可以忽略不计的)退化。

关于cocoa - 硬件加速/性能以及不同 macOS 图形 API、框架和层的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2118922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com