Auto-batching 对帧率的提升效果

对游戏来说,我们最终关心的是帧率,游戏到底卡不卡还得看帧率,因此做了一个简单的测试看看auto-batching对帧率的提升效果

测试1:各创建2000个精灵,手机上跑的帧率为12.5左右
for i=1, 2000 do
local a = cc.Sprite:create(“grossini_dance_03.png”)
a:setPosition(math.random(800), math.random(400))
self:addChild(a, 100)

local b = cc.Sprite:create("grossini_dance_04.png")
b:setPosition(math.random(800), math.random(400))
self:addChild(b, 100)    

end

测试2:各创建2000个精灵,手机上跑的帧率为17左右

for i=1, 2000 do
local a = cc.Sprite:create(“grossini_dance_03.png”)
a:setPosition(math.random(800), math.random(400))
self:addChild(a, 100)
end

for i=1, 2000 do
local b = cc.Sprite:create(“grossini_dance_04.png”)
b:setPosition(math.random(800), math.random(400))
self:addChild(b, 100)
end

结果是:auto-batching对帧率的提升效果不怎么样

正常,cocos的性能只要是顶点数多就很挫。干啥都掉帧

那优化的auto-batching有什么意义呢,包括batchnode

渲染批次在提升效率中所起到的作用不明显啊

看上面两张图:
auto-batching 是高效的,减少延时快一倍

看延时0.031(理论可以有30fps) ---- > 0.071(理论15FPS左右) ,

说明瓶颈不是在CPU ,而是在GPU跟不上渲染速度

非常感谢楼上的解惑