gpt4 book ai didi

android - Android Gingerbread 中的 OpenGL 性能不佳

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:28:19 25 4
gpt4 key购买 nike

我正在使用 OpenGL 1.0 开发 Android 视频游戏。

我遵循了这个教程: http://www.javacodegeeks.com/2011/06/android-game-development-tutorials.html

我创建了一个小演示,它在我当前的手机 HTC Sensation(Android 4.0.3 Ice Cream Sandwich)中运行良好且流畅(限制为 30 FPS)。

另外,我在我 friend 的手机上测试了我的游戏,结果如下:

  • Galaxy S2 = 完美! (30FPS)
  • Galaxy Note = 完美! (30FPS)
  • HTC One S = 完美! (30FPS)
  • Sony Xperia Tipo = 完美! (30FPS)
  • Samsung Galaxy Ace GT-S5830 = 性能非常差 >_<'(<10FPS 并在两部手机上测试)

如果比较 Xperia Tipo 和 Samsung Ace 之间的规范,您会发现它们几乎是同一部手机。

XPERIA 提示:

  • 320 x 480 分辨率
  • 512MB 内存
  • 高通 MSM7227A 800MHz,GPU Adreno 200

三星银河王牌:

  • 320 x 480 分辨率
  • 278MB 内存
  • 高通 MSM7227 800 MHz,GPU Adreno 200

好吧,内存不同,但我的游戏很简单,不会消耗超过 200MB!但表现完全不同。没意义!

但是……只有一点不同! Samsung Galaxy Ace 使用 Android 2.3.X (Gingerbread),Xperia Tipo 使用 Android 4.0.3 (ICS)。

因此,我的矛头指向问题出在 Android 2.3.X - Gingerbread 或 Galaxy Ace 是垃圾手机。

但是...我强制我的 friend 们安装了 AndEngine Examples 并对其进行了测试,结果 Nexus ParticleSystem 测试非常流畅。

我完全迷路了!为什么性能会有所不同?我做错了什么?

一些额外的信息:

  1. 我遵循该教程中的所有步骤。
  2. 我使用 GL10 (OpenGL 1.0)。
  3. 没有着色器。
  4. 没有丢失 FPS 的增量时间(我认为这不会解决我的问题)。
  5. 没有本地代码,只有 Java。
  6. SystemClock.uptimemillis() 和 sleep() 来控制 FPS。
  7. MediaPlayer 播放一首 MIDI 歌曲(不再有声音)。
  8. 具有大量 alpha 的纹理(2D 游戏,对于 Sprite 来说是必需的)。
  9. minSDKversion=8

如果您需要更多信息,请告诉我。

最佳答案

RAM 可能是瓶颈。你知道 Android 不能很好地处理图像。你在回收你的位图吗?为什么不使用 OpenGL ES 2.0?我正在 Samsung Galaxy Ace 和 LG p500(均带有 Gingerbread)上开发游戏和进行测试,没有任何问题。我可以获得近 50 FPS。

关于android - Android Gingerbread 中的 OpenGL 性能不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com