いつCC_ENABLE_GL_STATE_CACHEを有効にする必要があるのか 、これを使用する際の制限は何だろうと思っていました。特定のデバイスで特定の OpenGL 操作を行う際に問題が発生する可能性があることを示す投稿をいくつか見つけました
編集:それは私が設定ファイルから読んだものです。これを無効にしておく主な理由は、OpenGL 1.x ES 関数を使用して以前のコードを使用している場合です。したがって、このプロジェクトを OpenGL 2.0 ES でゼロから開始しても問題ありません。
/** @def CC_ENABLE_GL_STATE_CACHE
If enabled, cocos2d will maintain an OpenGL state cache internally to avoid unnecessary switches.
In order to use them, you have to use the following functions, insead of the the GL ones:
- ccGLUseProgram() instead of glUseProgram()
- ccGLDeleteProgram() instead of glDeleteProgram()
- ccGLBlendFunc() instead of glBlendFunc()
If this functionality is disabled, then ccGLUseProgram(), ccGLDeleteProgram(), ccGLBlendFunc() will call the GL ones, without using the cache.
It is recommened to enable it whenever possible to improve speed.
If you are migrating your code from GL ES 1.1, then keep it disabled. Once all your code works as expected, turn it on.
Default value: Disabled by default
@since v2.0.0
*/