GL Verts 和 GL Calls

据说:
GL verts 表示给显卡绘制的顶点数
GL calls 表示代表每一帧中OpenGL指令的调用次数

下面是代码1:

代码一:

for (int i = 0; i < 1000; i++) {
        int x = random() % 1080;
        int y = random() % 1776;

        auto sp = Sprite::create("CloseNormal.png");
        sp->setPosition(Point(x,y));

        this->addChild(sp);


```


这个执行的时候: Gl verts 在2000~2100之间, GL calls = 1


代码二:

auto batchNodeBase = SpriteBatchNode::create("CloseNormal.png");
    batchNodeBase->setPosition(Point(0,0));
    this->addChild(batchNodeBase);

    for (int i = 0; i < 1000; i++) {
        int x = random() % 1080;
        int y = random() % 1776;

        auto sp = Sprite::createWithTexture(batchNodeBase->getTexture());
        sp->setPosition(Point(x, y));

        batchNodeBase->addChild(sp);
    }


```


这个执行的时候 Gl verts =6000, GL calls = 1

不是号称使用batchNode的效率会好吗,为什么 GL verts反而多呢? 而且两种方法的GL calls居然是一样的,这是为什么?

https://github.com/fusijie/Cocos2dx-Release-Note/blob/master/cocos2d-x_v3.0_release_notes.md#user-content-sprite-%E5%92%8C-spritebatchnode

好吧,还是直接使用Sprite算了。

3.0开始,官方建议直接使用Sprite,不需要再用批处理了