0
点赞
收藏
分享

微信扫一扫

cocos2dx愉快的加载shader


逛cocos China看到的shader导致内存不断上升解决方案

getorcreatewithName的创建方式每次都会创建新的。最好先找找是否有缓存的可以拿来用

void loadShaders(const char * vert, const char * frag, Sprite*_sprite)
{

auto glprogram=GLProgramCache::getInstance()->getGLProgram("mytest");


if (!glprogram)
{
glprogram= GLProgram::createWithFilenames(vert, frag);
GLProgramCache::getInstance()->addGLProgram(glprogram, "mytest");
}
auto glprogramstate = GLProgramState::create(glprogram);
if (glprogramstate)
{
_sprite->setGLProgramState(glprogramstate);
}

}

举报

相关推荐

0 条评论