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个数比较多就打开个开关,会不会好些?