[]关于大量绘制 draw的性能优化问题
想要实现刮刮乐的功能 就是手指在上面滑动 就会有圆形的画面生成。
这样一来就需要绘制大量的圆形。
但是测试的结果是绘制几百个圆形会卡,掉帧很严重(不考虑webgl)
var Browser = laya.utils.Browser;
var Stat = laya.utils.Stat;
var Event = laya.events.Event;
var Sprite = laya.display.Sprite;
Laya.init(800, 1030);
Stat.show(0,0);
var drawLayer = new Sprite();
Laya.stage.addChild(drawLayer);
drawLayer.width = 800;
drawLayer.height = 1030;
drawLayer.on(Event.MOUSE_MOVE, this, mousemove);
function mousemove(e) {
drawLayer.graphics.drawCircle(e.target.mouseX,e.target.mouseY,20,"#ffffff")
drawLayer.cacheAsBitmap;
}
我的思路是每一次move都把对应的圆形区域绘制到一个容器上,这样一来drawcall就不会一直增加了。
但是在laya中没有找到。
这样一来就需要绘制大量的圆形。
但是测试的结果是绘制几百个圆形会卡,掉帧很严重(不考虑webgl)
var Browser = laya.utils.Browser;
var Stat = laya.utils.Stat;
var Event = laya.events.Event;
var Sprite = laya.display.Sprite;
Laya.init(800, 1030);
Stat.show(0,0);
var drawLayer = new Sprite();
Laya.stage.addChild(drawLayer);
drawLayer.width = 800;
drawLayer.height = 1030;
drawLayer.on(Event.MOUSE_MOVE, this, mousemove);
function mousemove(e) {
drawLayer.graphics.drawCircle(e.target.mouseX,e.target.mouseY,20,"#ffffff")
drawLayer.cacheAsBitmap;
}
我的思路是每一次move都把对应的圆形区域绘制到一个容器上,这样一来drawcall就不会一直增加了。
但是在laya中没有找到。
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
cuixueying
赞同来自:
建议:你可以将graphics.drawCircle使用graphics.drawTexture的方式实现,避免矢量绘制
lu632375951
赞同来自: