iPod应用程序在32GB型号上的运行速度比在8GB型号上慢

时间:2010-07-17 18:50:26

标签: iphone performance ipod-touch

我在第3代32GB iPod touch型号上遇到了很大的性能问题。

该应用程序是DS 3D游戏的一个端口。渲染是使用OpenGL ES 1.1完成的。它使用OpenAL for Audio和MPMoviePlayerController播放视频。

8GB iPod touch的性能很好,它以超过30 fps的速度持续运行。然后我在第3代的32GB机型上进行了测试,并感到震惊的是它的速度有多慢。我注意到的第一个问题是Intro过场动画。视频碎片化,卡住,帧已被跳过。

在3D级别,性能约为15 fps。场景在静态顶点缓冲区中具有大约10000个顶点,在动态顶点缓冲区中具有7000个顶点。动态顶点每帧都更新,而不是全部更新,但是更改骨架动画的最后一帧的那部分。

我玩了构建设置,Thumb开/关,针对armv7进行了优化等等,毫不费力。在8GB型号上它运行得非常快,在32GB型号上它很糟糕。

然后我在32GB型号的App Store(N.O.V.A)上尝试了另一款3D游戏。它运行良好,视频也很好。

现在我的想法已经结束了。

有人可以告诉我一个问题是什么。

感谢您和最诚挚的问候 温柔的

2 个答案:

答案 0 :(得分:2)

iPod Touch有三代产品,与iPhone 3GS有最新一代相似的规格,最值得注意的是,内存增加一倍,GPU速度更快,GPU比第一代或第二代更好。

您正在比较不同的硬件,因为从未有过8GB的第三代模型。所以你的代码会让它在新硬件上运行得更糟 - 这实际上是非常令人惊讶的。我猜:它与GPU有关。

答案 1 :(得分:0)

第二代iPod touch有一个本机运行OpenGLES1.1的GPU。

iPod touch第三代拥有一个本机运行OpenGLES2.0并且速度更快的GPU,但通过将OpenGLES1.1指令转换为OpenGLES2.0指令来运行它们。您的应用程序可能使用的是1.1指令,GPU驱动程序难以使用2.0指令进行模拟

注意:这是一个简化的解释