[]关于DrawCall和Shader数量的疑问

根据地图编辑器出的数据动态创建城池,现在城池上带有城池名称等信息drawCall和shader都会剧增,去掉立马就正常。设置cacheAs也无效。具体对比图如下:
1、有名称时:
      
1_0.png

1_1.png

2、无名称时

2_0.png


2_1.png

具体的城池名称制作流程如下图

3_0.png


3_1.png

 
实现的伪代码如下:
_container = new Sprite();
Laya.stage.addChild(_container);
_container.cacheAs = "normal";

private function createCity(worldMapData:Object):void
{
var itemObj:Object;
for(var i:int = 0 ; i < worldMapData.items.length ; i++)
{
itemObj = worldMapData.items[i];
var city:City = new City();
city.x = itemObj.x;
city.y = itemObj.y
city.staticData = itemObj;
city.mouseEnabled = true;
_container.addChild(city);
}
}[/i]
当city里面的名称直接不add到舞台,shader和drawcall都正常。如果需要测试,具体项目代码在附件中,希望官方能给点修改意见。
已邀请:

Aar0n

赞同来自:

动态的肯定增加。cacheAs 也只是适合静态不经常改变的对象。

要回复问题请先

商务合作
商务合作