双缓存画布
现在我们有一幅图需要放在Canvas中,使用drawImage()方法,有三种写法:
// 将image放到目标canvas指定位置
void ctx.drawImage(image, dx...裁剪之后放到目标canvas指定位置,指定宽高渲染
void ctx.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight...);
第一种方法只是把图片原样放到Canvas中,第二种方法指定宽高就意味着放大或者缩小图片后再放进去,第三种是将图片裁剪后再放大或者缩小放到canvas中,这三种写法操复杂度作依次增加,性能开销也随之增大..., sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);
// 在视图canvas中绘制
viewcontext.drawImage(canvas,...技术应用落地
在实际应用中需要在前端对复杂内容进行渲染或者处理大量数据时,为了更好地对性能进行优化,现在已经有很多项目实际采用了Canvas的双缓存画布和油画分层技术。