2012-08-16 145 views
1

我正在开发iPad OpenGL ES 2.0应用程序,并且需要支持1024x768的帧缓冲区。我使用GLKView和iOS 5.1来管理后端帧/渲染缓冲区的创建(使用XCode提供的自动生成的OpenGL游戏模板中的代码)。我在iPad2上获得了可以接受的性能,并且生活很好。但是,在测试过程中,我得到了一台带有Retina显示屏的iPad 3,当我的应用程序重新编译/安装到iPad3时,后端帧/渲染缓冲区运行在2048x1536,这使我的性能变得极其糟糕。设置GLKView渲染缓冲区大小

现在对于我的问题:

1)如何强制GLKView自动生成帧缓冲区默认为1024×768,而不是为2048x1536。

奖金的问题:

2)为什么我没有得到的X2缩放按钮?这是因为我已经重新编译了附带iPad3的应用程序,并且Xcode在幕后做了一些修改?如果我只用附加的iPad2编译应用程序并将应用程序提交给AppStore,那么运行iPad3的最终用户是否会获得x2缩放按钮呢?

+2

你为什么期望一个x2缩放按钮呢? – Till 2012-08-16 22:35:51

+1

关于Till的评论,我认为您想要的x2缩放按钮是在iPad上运行iPhone应用程序时显示的?在iPad上运行iPad应用程序时,您绝对不应该看到它。 – Tommy 2012-08-16 22:57:49

回答

2

为了强制GLKView不使用全视网膜分辨率,只需将contentScaleFactor设置为1.0即可。

contentScaleFactor是每个点的像素数。所有iPad的屏幕分辨率均为1024x768,因此全屏视图的内容比例因子为1.0将具有1024x768像素。缩放因子在视网膜设备上默认为2.0,否则为1.0。

+0

谢谢,这解决了这个问题。非常感谢汤米。 – smallstepforman 2012-08-17 01:52:08