2013-03-21 50 views
4

我试图找到一些相关的来源关于这一点,什么都没发现。帆布与img - 性能

所以,我的问题很简单。 画布比img快吗?我将使用img(png,gif)或canvas中的对象。

  1. 对象只能使用一次,
  2. 多次使用同一对象的,在管理例如图标,
  3. 多次使用不同的对象,为企业的例子徽标。

我对内存使用情况,浏览器性能和加载速度感兴趣。

编辑#1:画布由js绘制,它与img标记中的图像相同。

+0

您的意思是*在''*上绘制某个东西*与* '标记*? “更快”以什么方式?下载速度?渲染速度? – deceze 2013-03-21 07:01:53

+0

是的,我的意思是......我会编辑问题,谢谢 – 2013-03-21 07:03:21

+3

在几乎所有情况下,这是一个非问题。当你需要画布和img时,你应该使用画布,当你需要img时。根据您的需要选择,并只在必要时优化*。 – JJJ 2013-03-21 07:05:03

回答

3

不,img比使用canvas更快,更容易创建并且更易于访问。 img标签旨在显示图像,因此如果您只需要这么做,请使用img标签。多次使用应该无关紧要,因为图像只能下载一次。

如果你需要一些动画或交互性,那是考虑canvas的时候。

+0

'img'更快吗?你能解释一下为什么请问? – Robula 2017-12-12 17:02:32

+0

@Robula'img'是为绘制图像而构建的,所有内容都以本机代码处理。对于'canvas',你需要创建DOM元素,以某种方式抓取图像(可能通过'img'元素),然后绘制它。它们被设计成用于绘制各种东西的普通画布,“img”很简单,因此对绘制图像更好。 – 2017-12-12 17:56:40

+0

感谢您的澄清。我在印象之下使用WebGL时,画布可能更具性能。 – Robula 2017-12-13 11:34:41