我正在开发一个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缩放按钮吗?
答案 0 :(得分:2)
为了强制GLKView
不使用完整的视网膜分辨率,只需将contentScaleFactor
设置为1.0
。
contentScaleFactor
是每个点的像素数。所有iPad的屏幕分辨率均为1024x768点,因此内容比例因子为1.0的全屏视图将具有1024x768像素。否则比例因子在视网膜设备上默认为2.0,否则为1.0。