1

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

然而,在测试期间,我得到了一台配备 Retina 显示屏的 iPad 3,当我的应用程序重新编译/安装到 iPad3 时,后端帧/渲染缓冲区以 2048x1536 运行,这削弱了我的性能。

现在我的问题:

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

奖金问题:

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

4

1 回答 1

3

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

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

于 2012-08-16T23:01:02.177 回答