gpt4 book ai didi

ios - 让 UIKit 处理 OpenGLES 1.1 中的设备旋转 - 它实际上是否更慢,如果是在什么情况下?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:28:01 26 4
gpt4 key购买 nike

我一直让 UIKit 为我处理设备旋转(我的 iOS 应用程序有一个实现了 shouldAutorotateToInterfaceOrientation:UIViewController),我对它的处理方式非常满意很简单,就是让它全部正常工作。

尽管有人告诉我这比手动执行所有轮换业务要慢。然而,我在 iPad (iOS 4.2) 或 iPod Touch 2G(也是 iOS 4.2)上的测试并未证实这一点。

当我被告知无论如何都会有很大的不同时,我有点惊讶,因为从 UIKit 的工作方式来看,OpenGLES 似乎没有任何翻页的余地。所以 -[EAGLContext presentRenderbuffer:] 几乎必须做一个副本,无论旋转状态如何,这将花费基本相同的时间。旋转的其他方面(主要是一般坐标变换)的开销我认为同样可以忽略不计。

不过,这只是我的猜想,而且我只有撒谎的眼睛来支持它!那么在某些情况下,让 UIKit 处理设备旋转确实会产生很大的不同吗?如果有,它们是什么?

最佳答案

在以下设备上,使用 View Controller 处理旋转是最佳和推荐的解决方案:运行 iOS 4.2 及更高版本的 iPhone 3GS、iPhone 4、iPad、iPad 2、iPod touch 3G、iPod touch 4G .

如果您的应用程序在任何较旧的 iOS 设备上运行,您应该直接使用 OpenGL ES 执行旋转。巧合的是,推荐的设备是所有支持 OpenGL ES 2.0 的设备,因此它们的 OpenGL ES 1.1 管道是使用着色器实现的。

如果您想了解有关如何处理非 ES 2.0 设备上的旋转的更多信息,或确认此答案,您会发现 here.

关于ios - 让 UIKit 处理 OpenGLES 1.1 中的设备旋转 - 它实际上是否更慢,如果是在什么情况下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4663709/

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