3

我们的 cocos2dx 游戏大量使用批处理节点,但在一些设备(如 samsung quattro 和 grand)中,经过几次游戏后,一些 SpriteSheets 变黑了。最终所有的精灵表都变黑了。我们正在使用 CCTextureAtlas 加载我们的批处理节点。

以下是我们认为可能造成问题的日志

04-10 08:43:54.171:D/cocos2d-x 调试信息(3592):/Users/jitenagarwal/cocos2d-x-2.2.6/projects/pabAndroid/proj.android/../.. 中的 OpenGL 错误 0x0505 /../cocos2dx/sprite_nodes/CCSprite.cpp 绘制 663 * 04-10 08:48:38.541:D/cocos2d-x 调试信息(3592):/Users/jitenagarwal/cocos2d-x-2.2.6 中的 OpenGL 错误 0x0505 /projects/pabAndroid/proj.android/../../../cocos2dx/textures/CCTextureAtlas.cpp mapBuffers 306

我们尝试了以下事情,但没有任何帮助

  1. 我们减小了 png 的大小。

  2. 我们在 CCSpriteBatchnode.h 中更改了 kDefaultSpriteBatchCapacity 128

  3. https://developer.qualcomm.com/forum/qdevnet-forums/mobile-gaming-graphics-optimization-adreno/26579

  4. http://discuss.cocos2d-x.org/t/black-pictures-after-a-playing-time/7069/119?page=6

  5. http://www.cocos2d-x.org/wiki/Max

这些问题仅发生在某些设备上,例如三星 Grand quattro。

发生这种情况时的设备日志 04-10 08:53:19.651: W/Adreno200-GSL(6804): : ioctl code 0xc00c092f (IOCTL_KGSL_GPMEM_ALLOC) failed: errno 12 Out of memory

4

1 回答 1

0

你们不需要减小png的大小。试试这个,它可能会帮助你..

  1. 仅加载当前需要的精灵表。
  2. 卸载所有不再使用的未使用的纹理和精灵表。
  3. 确保精灵表纹理文件没有损坏。
于 2015-10-12T06:59:48.820 回答