Javascript 如何使用大量数据提高canvas fabric.js的性能

Javascript 如何使用大量数据提高canvas fabric.js的性能,javascript,html,canvas,fabricjs,Javascript,Html,Canvas,Fabricjs,我需要做一张画布,画出大约30000个物体。 画布的大小约为3000*3000,用户可以使用鼠标移动、缩放、鼠标:滚轮、, 但是用户的性能非常差,而且 我怎样才能提高绩效?谢谢 that.seatCtxInfo.ctx=new fabric.Canvas('seatsbox-Canvas'{ 宽度:那个。座位箱宽度, 高度:那就是座位箱的高度, 是的, 事件:错误, centeredScaling:正确, lockUniScaling:错误, hasRotatingPoint:false, a

我需要做一张画布,画出大约30000个物体。 画布的大小约为3000*3000,用户可以使用鼠标移动、缩放、鼠标:滚轮、, 但是用户的性能非常差,而且 我怎样才能提高绩效?谢谢

that.seatCtxInfo.ctx=new fabric.Canvas('seatsbox-Canvas'{
宽度:那个。座位箱宽度,
高度:那就是座位箱的高度,
是的,
事件:错误,
centeredScaling:正确,
lockUniScaling:错误,
hasRotatingPoint:false,
allowTouchScrolling:是的,
哈斯:错,
})
.areaSeatList.forEach(项=>{
var rect=new fabric.rect({
//左:0,,
//排名:0,
左:item.x==0?item.x*that.seatsWidth:(item.x-Math.floor(that.xMin/2))*(that.seatsWidth+that.shift),
top:item.y==0?item.y*that.seatsHeight:(item.y-Math.floor(that.yMin/2))*(that.seatsHeight+that.shift),
宽度:20,
身高:20,
可见:对,
哈斯:错,
选择:假,
哈斯:错,
是的,
事件:错误,
填充:item.status==1?item.background:“#000”,
})
that.seatCtxInfo.ctx.add(rect)
})
seatCtxInfo.ctx.on(“鼠标:轮子”,函数(opt){
var zoom=that.seatCtxInfo.ctx.getZoom()
缩放+=(event.deltaY>0?-0.2:0.2)
如果(缩放>3)缩放=1
如果(缩放<0.05)缩放=0.1
that.seatCtxInfo.ctx.zoomToPoint({x:opt.e.offsetX,y:opt.e.offsetY},zoom)
})