三个东西,quick,c++11,coco3.0。现在才在接触quick。

3.0对引擎做了蛮大的改动,从sprite的draw封装就看出这一点了,openGL ES的操作被移到了更底层。对于auto culling以及自动批次渲染的支持使得引擎在渲染方面得到了很大的优化。

遗憾的是coco2.2和目前的cocoStudio本身,coco2.2,并不支持这些优化性能。

对渲染批次的优化有二,一个是拼大图(也就是将图片资源用TexturePacker打包为一张大图并载入到CCSpriteFrameCache),而是把节点挂在CCBatchNode上做批次渲染。对于前者包括cocoStudio中的骨骼动画都已经做到了,但后者cocoStudio本身并不支持。

"渲染批次控制比较麻烦,里面的zorder不能和批次外的交叉。用vertex z可能可以做到交叉,不过这样的话大概全部东西都要改z-vertex,而且 projiection要改成2d模式。所以我们只在一些无关紧要的东西上,有又出现很多的东西上才考虑用批次的。"

总之手动做批次渲染过于麻烦而且会带来资源管理和美工的额外负担。

所以只要对诸如怪物掉落道具等东西做批次渲染优化也就够了。