Linux环境下Chrome 116版本canvas drawImage性能骤降20倍求助
Chrome 116版本HTML Canvas drawImage性能暴跌20倍问题
升级Chrome浏览器至116版本后,HTML canvas的drawImage性能突然下降20倍,测试数据如下:
Chrome/114.0.0.0 - 创建300个画布耗时30ms,drawImage耗时39ms
Chrome/116.0.0.0 - 创建300个画布耗时15ms,drawImage耗时817ms
可见图像绘制速度慢了20倍。本人使用Ubuntu 22.04 64位系统,问题出现在114到116版本之间,暂无法找到115版本进一步缩小范围。
以下是最小测试代码:
JavaScript代码
// 创建300个25x25的画布,以此证明画布创建未变慢 var t1 = Date.now(), i, can = [], o, img, log = ''; for (i = 0; i < 300; i++) { o = {}; o.canvas = document.createElement('canvas'); o.context = o.canvas.getContext('2d'); o.canvas.width = 25; o.canvas.height = 25; can.push(o); } log += 'created 300 canvases in ' + (Date.now() - t1) + 'ms, '; // 创建一个1000x1000的画布作为源图像 t1 = Date.now(); img = {}; img.canvas = document.createElement('canvas'); img.context = img.canvas.getContext('2d'); img.canvas.width = 1000; img.canvas.height = 1000; log += 'created big canvas in ' + (Date.now() - t1) + 'ms, '; // 将源图像绘制到所有300个画布上 t1 = Date.now(); for (i = 0; i < can.length; i++) { can[i].context.drawImage(img.canvas, 0, 0); } console.log('drawImage in ', Date.now() - t1); log += 'drawImage in ' + (Date.now() - t1) + 'ms, '; log += window.navigator.userAgent + '<br>'; document.body.innerHTML = log;
HTML代码
<pre id="log"></pre>
内容的提问来源于stack exchange,提问作者asdjfiasd
相关产品推荐
相关产品推荐

