首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >putImageData比drawImage快吗?

putImageData比drawImage快吗?
EN

Stack Overflow用户
提问于 2011-10-11 13:56:11
回答 2查看 16K关注 0票数 10

我认为putImageData比drawImage快,但我需要证明这一点。

我猜这和Flash以及它的位图和BitmapData类是一样的。基本上,BitmapData促进了位图对象中数据的非可视化提取,这使得对其进行非常容易和快速的操作成为可能。

我猜在高性能情况下,例如游戏,从每个图像(例如,每个精灵)中提取ImageData并将其缓存到"assets“字典中是比将精灵本身一遍又一遍地绘制到画布上更好的解决方案。

有人能证明这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-11 15:50:02

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

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

到目前为止,drawImage()putImageData()快得多。据我所知,这不是故意的,浏览器开发人员正在考虑改善性能差距。

票数 12
EN

Stack Overflow用户

发布于 2013-09-27 04:08:54

对于较大的画布,我发现它没有太大的不同,但在复制画布方面,putImageData绝对没有drawImage那么好。

下面是我使用的一些测试用例:http://jsperf.com/canvas-size-test-case/3

不管我实际复制的数据有多大,我最终都在源画布的整体大小上遇到了一些性能问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7721898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档