从品牌网站建设到网络营销策划,从策略到执行的一站式服务
根据官方文档于cocosdx3.0+中推出了Auto—batching的新功能 这个东西到底有什么作用呢?
成都创新互联公司专注于平度网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供平度营销型网站建设,平度网站制作、平度网页设计、平度网站官网定制、微信小程序定制开发服务,打造平度网络公司原创品牌,更为您提供平度网站排名全网营销落地服务。我们知道在我们的游戏开发中经常会遇到要在屏幕上出现许多相同精灵的情况(比如LOL中的一大群小兵) 根据我们的经验可以得知 在加载精灵时候都会进行一次渲染 那么问题来了 我们每次想加载一大批相同精灵时都需要对每一个精灵进行多次渲染吗?
官方文档说明 Auto-batching(自动批处理)生效需要满足以下条件
确保精灵拥有相同的TextureID(精灵表单SpriteSheet)
确保都拥有相同的材质和混合功能
不能再次添加到SpriteBatchNode上
简而言之就是只要我们用同一张图片创造精灵,并且没有做特殊处理就可以满足条件
但是有些情况需要注意:
for(int i =0;i<10000;i++)
{
auto a = sprite::create("sprite1.png");
this->addchild(a);
auto b = sprite::create("sprite2.png");
this->addchild(b);
}
因为我们在一个循环里面每次创建了两个精灵 虽然对于a和b精灵的循环来说是用了同一张图片,但是在内存中的加载是两张图片间隔渲染 如下:
sprite1
sprite2
sprite1
sprite2
sprite1
sprite2
。
。
。
sprite1
sprite2
此种情况并不能满足Auto-batching的要求
那么我们可以怎么办呢?
for(int i =0;i<10000;i++)
{
auto a = sprite::create("sprite1.png");
this->addchild(a);
a->setGlobleZorder(1);
auto b = sprite::create("sprite2.png");
this->addchild(b);
b->setGlobleZorder(1);
}
此时在内存中会出现以下情况:
sprite1
sprite1
sprite1
sprite1
sprite1
sprite1
。
。
。
sprite2
sprite2
sprite2
sprite2
sprite2
sprite2
此时就满足了Auto-batching的条件
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图