纹理缓存统计信息较低时,获得Opengl错误0x505

时间:2014-09-09 02:29:24

标签: android opengl-es cocos2d-x

我正在使用cocos2dx 2.2 + lua开发一款安卓游戏。在测试时,我收到了很多错误的错误0x505'来自logcat。根据opengl doc,这意味着记忆力不足'。因此,我每3秒打印一次纹理缓存 的cocos2d :: CCTextureCache :: sharedTextureCache() - > dumpCachedTextureInfo(); dumpCachedTextureInfo()的输出显示最高纹理缓存为70M,但没有错误0x505'发生。 '错误0x505'在缓存低时出现,例如〜35M。我的问题是,不是opengl显示内存和cocos2dx纹理缓存内存是一回事吗?怎么能错误0x505'当纹理缓存不在最高点时发生?期待你的回答或建议。谢谢。

1 个答案:

答案 0 :(得分:0)

我在一些低端设备上遇到了与我们的游戏(运行Cocos2d-x 3.3)相同的错误,以及一些时髦的渲染问题。在我们的案例中,原因是一个自定义的OpenGL片段着色器,它在代码方面太大了,并且减小了修复问题的大小。

总的来说,错误来自OpenGL的事实告诉我,问题是GPU内存而不是RAM。由于CCTextureCache(据我所知)只占用RAM,我猜这个问题与此无关。