1

我有一个关于 OpenGL ES 上下文大小的问题。我有两个使用 GLKView 在 iPad 视网膜上运行的 OpenGL 上下文。该视图配置为没有深度/模板/多重采样,但只有一个 32 位帧缓冲区。单个缓冲区占用 12MB(2048*1536*4 字节)。分析我的应用程序显示我有 3 个 12MB 的 IOKit 分配加上一个来自 Core Animation 的 12MB 分配。我怀疑它们都是相关的。我的猜测是 Core 动画缓存了生成的帧缓冲区,这解释了来自它的一个 12MB。此外,我在隐藏的 GLKView 上调用 deleteDrawable,这意味着我本来期望来自 IOKit 的单个 12MB 缓冲区,也许还有另一个一个来自核心动画。有没有人对OpenGL内存消耗有任何经验,

4

1 回答 1

0

我相信 iOS 设备在内部使用三重缓冲,这可以解释额外的分配。John Carmack 在此处打印的一封电子邮件中提到了这一点。

于 2013-12-26T12:02:45.640 回答