首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iPhone中混合使用OpenGL和UIKit的确切性能成本是多少?

在iPhone中混合使用OpenGL和UIKit的确切性能成本是多少?
EN

Stack Overflow用户
提问于 2012-03-15 07:46:03
回答 1查看 1.3K关注 0票数 1

我需要做一个如何接近一个应用程序的设计决定,这需要渲染一个图像纹理上的一些3D对象。结果需要呈现并另存为UIImage。图形化设计(客户端)期望标准的UIKit控件能够操纵3D世界。

OpenGL视图(CAEAGLLayer层)需要在UIScrollView中实现廉价和自然的滚动和缩放。只有几个额外的控件来操纵少数3D对象的旋转、缩放和过渡。不需要太多三角形(最多100-200个)和2-3个纹理(1个蒙版)。它甚至不需要不断刷新,只需在某些转换和缩放发生变化时即可。CAEAGLLayer不需要是不透明的。

我会使用核心动画解决方案,但不支持将3D变换的CALayers渲染为CGContextRef (也不支持蒙版)。

将CAEAGLLayer放入UIScrollView中并将其与少量UIKit视图混合使用时,实际的性能成本是多少?我可以期望每秒渲染多少三角形以平滑的帧速率(30fps就可以了),这样我就可以做出最好的决定了?

我知道已经有类似的问题了,但没有一个答案提供了具体的数字,这可能有助于估计预期的渲染结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-15 08:18:43

根据Allan Schaffer的说法,OpenGL本身并不是一个特例--任何改变都会导致它上面的一切重新组合。我特别和他谈到了一个应用程序,在实时更新的OpenGL视图下有一个实时更新的视频视图,他说这种事情是病态的最坏的情况。在顶部抛出几个非常静态的视图通常不是很昂贵,比如使用UILabel在OpenGL游戏上显示当前比分。

在您的情况下,我认为您可能可以在很大程度上避免这个问题。不要将GL视图放在滚动视图中,而是使滚动视图不透明,并将GL视图放在它后面。捕获scrollViewDidScroll: (以及相应的缩放消息)并进行相关的OpenGL调整。根据我的经验,我可以说我已经在iPad 1上做到了这一点,没有任何性能问题。特别是对于你所说的那种模型,我想不会有问题。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9712043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档