【问题标题】:Drawing issues on very large canvas elements在非常大的画布元素上绘制问题
【发布时间】:2014-09-08 23:21:04
【问题描述】:

当我尝试使用 canvas 元素具有较大高度和宽度的画布(在五位数的某个位置,但我没有找到确切的位置)时,它似乎不起作用:

<canvas id="canvasElement" height="15000" width="15000"></canvas>

http://jsfiddle.net/mrxxzqqr/1/

而对于 10000 宽和 10000 高的画布,它可以工作(至少在 Chrome 中):

<canvas id="canvasElement" height="10000" width="10000"></canvas>

http://jsfiddle.net/mrxxzqqr/

没有错误,所以我不知道为什么。

【问题讨论】:

  • 我建议不要为了“扁平化”你的代码而突破画布规范的界限。响应性将受到影响,并且将使用大量资源。在这种大小下,您甚至可以阻止浏览器使用 GPU 加速来辅助绘图。你正走在一条黑暗的道路上……别这样!
  • 我如何突破规范的界限?它是否在某处提到不支持大于 10,000 像素的画布元素?
  • 请记住,浏览器使用的像素数组是画布尺寸的 4 倍。这几乎是 1 GB 专用于 15K x 15K 画布的像素阵列。 GPU 使用合成来加速绘图,这意味着 GPU 需要数倍 GB 才能进行合成——即使在高端 GPU 上也不常见。理论说有可能,实际说不合理。
  • Canvas 标签有大小限制。请参阅此问题/答案:stackoverflow.com/questions/6081483/…

标签: canvas html5-canvas


【解决方案1】:

如 cmets 中所述,画布的大小限制因浏览器而异:

Maximum size of a <canvas> element

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-10
    • 2022-01-10
    • 2014-05-10
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多