putImageData(...)比drawImage(...)更高效吗?

use*_*232 6 javascript html5 canvas

我想是的,但我需要证明这一点.

我猜,它与Flash及其Bitmap与BitmapData的情况相同.基本上,BitmapData是Bitmap中数据的非可视提取,允许非常容易和快速的操作.

我认为对于高性能解决方案,比如游戏,从每个图像中提取ImageData(例如,每个精灵),并将其缓存在"资产"字典中,比在画布上绘制精灵本身更好.再次.

有人能证明这一点吗?

Xen*_*hyl 8

我不赞成将这个测试放在一起,但你可以清楚地看到使用drawImage()画布和图像的性能以及putImageData()这里的性能:

http://jsperf.com/canvas-drawimage-vs-putimagedata/3

截至目前,drawImage()速度要快得多putImageData().最后我听说,这不是有意的,浏览器开发人员正在考虑改善性能差距.

  • 显示应用程序错误的链接。有新链接的机会吗? (3认同)