渲染建议

hello,
1.可不可以在 TextureCache 里加个接口用于开关单个 Texture 的批次渲染
比如 void setBytchOn(std::string name, bool on);
如果打开该选项,则当前所有使用该 Texture 的node进行批次渲染,否则普通渲染
如果这样加效果不好,请解释下原因,3ks
2.node->visit()里是直接 draw() 的,如果加上个判断当前node是否在屏幕内,不在则不调用draw,但是child继续遍历,比如:


        Size size = this->getContentSize();
        Point p = convertToWorldSpace(Point::ZERO);
        Size winSize = Director::getInstance()->getWinSize();
        Rect winRect(0, 0, winSize.width, winSize.height);
        if(winRect.intersectsRect(Rect(p.x, p.y, size.width, size.height)))
        {
            this->draw();
        }

我有些场景里很多node在屏幕外,这样一来渲染次数就减少了很多,或者也设置个开关,如果屏幕外node个数比较多就打开个开关,会不会好些?

LZ可以看看3.0的new render,有aabb culling,也有自动批次合并。