Egret中碎图渲染优化处理
2019-02-15
场景中如果需要动态添加多处碎图(小图),而且属性长时间不发生变化,可考虑代码方式合并纹理,能够大大提升性能。
//-- 主舞台 var stage = new egret.DisplayObjectContainer(); //-- 纹理位图 var _mapBitMap = new egret.Bitmap(); //-- 纹理 var _mapTexture = new egret.RenderTexture(); //-- 纹理容器 var _mapContainer = new egret.DisplayObjectContainer(); //-- 添加位图到舞台上 stage.addChild(_mapBitMap); //-- 向纹理容器中添加碎图,然后绘制纹理 _mapContainer.addChild(new egret.Bitmap()); _mapContainer.addChild(new egret.Bitmap()); _mapContainer.addChild(new egret.Bitmap()); _mapTexture.drawToTexture(_mapContainer); //-- 最终更新位图纹理 _mapBitMap.texture = _mapTexture;
注意:最好先将位图添加到主舞台上,然后更新纹理,不然有时候,绘制纹理不准确,有偏差。
By Pury.