设置GLKView渲染缓冲区大小

时间:2012-08-16 22:26:58

标签: ios ipad opengl-es-2.0

我正在开发一个iPad OpenGL ES 2.0应用程序,需要一个1024x768的后备帧缓冲区。我使用GLKView和iOS 5.1来管理后端帧/渲染缓冲区的创建(使用XCode提供的自动生成的OpenGL游戏模板中的代码)。我在iPad2上获得了可接受的性能,而且生活也很好。

然而,在测试过程中,我将手放在带有Retina显示屏的iPad 3上,当我的应用程序重新编译/安装到iPad3时,后端帧/渲染缓冲区的运行速度为2048x1536,这严重影响了我的性能。 / p>

现在提出我的问题:

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

奖金问题:

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

1 个答案:

答案 0 :(得分:2)

为了强制GLKView不使用完整的视网膜分辨率,只需将contentScaleFactor设置为1.0

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