0

我应该使用什么:绘制到新创建的画布document.createElement("canvas")或使用预先初始化的画布元素从缓冲区绘制到画布?实现最大性能和最小内存消耗的最佳方法是什么?这两种方法之间有明显的区别吗?垃圾收集器会删除所有使用 创建的临时画布document.createElement("canvas")吗?

4

1 回答 1

1

关于<canvas>元素的创建方式(Javascript,HTML)没有性能差异。

无论您如何创建元素,都会产生相关成本<canvas>,因此您不想在绘制循环中创建许多元素。这个成本是特定于浏览器的,取决于实现,但它可能很高。此外,它可能取决于您是刚刚创建元素还是第一次在其上绘制。

对于实际的绘图操作性能,画布是在屏幕上还是在屏幕外(后台缓冲区)可能很重要。此外,直接访问像素数据(获取数据、放置数据)也会产生相关成本,因为您可能需要先将后台缓冲区从 GPU RAM 下载到 CPU RAM。

于 2012-11-19T21:39:09.670 回答