【问题标题】:Why can't I see certain OpenGL ES charts in the 4.2 Simulator?为什么我在 4.2 模拟器中看不到某些 OpenGL ES 图表?
【发布时间】:2011-05-24 17:41:17
【问题描述】:

我正在编写一个应用程序,其中包含一些在 OpenGL ES 中绘制的图形。这些图表中的每一个都在一个表格单元格中,当我按下其中一些图表时,它会以全屏模式打开。 自从我升级到 iOS4.2 后,一切都运行良好。 现在问题出在模拟器上,我在单元格中看不到绘制的图形,但在全屏模式下我确实看到了图表。 没有设备没有变化,它只是在模拟器上并且仅在一个案例中。 此处其他 Mac 的行为相同。

有人知道吗?

【问题讨论】:

    标签: iphone ios opengl-es ios-simulator


    【解决方案1】:

    正如this answerthis similar question 中所解释的,4.2 处理核心动画层中渲染缓冲区的方式发生了变化。来自OpenGL ES Programming Guide

    在 iOS 4.2 及更高版本中,性能 核心动画旋转 渲染缓冲区已显着 改进,现在是首选 在之间旋转内容的方法 横向和纵向模式。为了最好 性能,确保渲染缓冲区的 高度和宽度都是倍数 32 像素。

    如果您的渲染缓冲区不是 32 像素的偶数倍,它似乎不会显示在模拟器中。这是模拟器中的一个错误,但在任何情况下,您都应该将渲染缓冲区的任一维度设为 32 的倍数以提高性能。

    【讨论】:

      【解决方案2】:

      我的应用程序也是如此。我的纹理在模拟器(4.2)上偶尔被破坏。在硬件上一切看起来都很好。

      【讨论】:

      • 所选答案确实对我有帮助。所以你可以试试。
      【解决方案3】:

      我不知道这是否有多大帮助,但我在 OpenGL ES 的模拟器实现中看到了各种奇怪的行为:出现虚假图像;第一次渲染过程中出现奇怪的光照;损坏的位图渲染,取决于我何时调用它。我不是 OpenGL 编程方面的专家,所以我可能只是在编写垃圾代码,但模拟器的行为与真实硬件的行为肯定存在显着差异。

      您的经验表明,也许我的问题并不完全是我的错。 :-)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-09
        • 2012-02-14
        • 2015-08-10
        • 2019-05-23
        • 2020-11-12
        • 2014-05-23
        相关资源
        最近更新 更多