OpenGL错误0x0501和0x0505 cocos2d-x,samsung quattro Gl_out_of_memory

时间:2015-04-10 12:48:10

标签: android opengl-es-2.0 cocos2d-x-2.x

我们的cocos2dx游戏大量使用batchnodes,但在一些设备如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/projects/pabAndroid/proj.android/../中的OpenGL错误0x0505 .. /../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

  6. 问题仅发生在某些设备上,例如Samsung grand quattro。

    发生这种情况时的设备日志 04-10 08:53:19.651:W / Adreno200-GSL(6804):: ioctl代码0xc00c092f(IOCTL_KGSL_GPMEM_ALLOC)失败:错误12内存不足

1 个答案:

答案 0 :(得分:0)

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

  1. 仅加载当前所需的精灵表。
  2. 卸载所有未使用的纹理和不再使用的精灵表。
  3. 确保精灵表格纹理文件没有损坏。