当UIView部分偏离屏幕时,OpenGL ES性能问题

时间:2012-01-05 00:33:01

标签: ios opengl-es

我目前正在开发OpenGL游戏,并且最近开始重构它以支持iPhone以及iPad。为了让自己尽可能少地工作,我简单地将包含EAGLView的大小调整为480 x 360(以保持iPad纵横比)并将视图向上移动,使其原点位于-20(为了使内容居中,并且可以裁剪边缘)。

我发现这导致设备性能不稳定(尽管CADisplay链接报告的帧持续时间相当于59-61 fps),并且与iPad版本并排比较时至少慢了20%。

然后我尝试将视图大小调整为屏幕尺寸480 x 320并且性能恢复正常(尽管渲染的内容不再具有正确的宽高比)。

为什么'off screen'渲染会导致性能下降?为什么displaylink仍然认为它以60fps运行?

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

这主要是一个疯狂的猜测,但剪裁区域呢?有这种硬件功能,可以混合窗口和硬件加速图形。也许它在移动设备上没有很好地实现。

但是,您可以避免在屏幕外使用UIView,并尝试使用glViewport()将视图的各个部分移出屏幕。虽然看起来是相同的,但它由管道的不同部分(光栅化器)处理,并且应该更快。