You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 16:20:13