Javascript 使用画布元素作为图像的缓冲区更有利还是使用img元素作为缓冲区更有利?
我想用画布上的图像制作大量动画;使用canvas元素作为图像的缓冲区更有利(这样我们就不必再次调整大小),还是使用img元素作为缓冲区更有利 或者,如果性能是我应该做的最重要的事情,而我却错过了,那么有没有更好的方法,一个必须做的事情 另外,为什么“清除”画布的操作如此缓慢?我的背景是WindowsPhone7的xna编程,“清除”整个屏幕是最快的操作之一Javascript 使用画布元素作为图像的缓冲区更有利还是使用img元素作为缓冲区更有利?,javascript,html,canvas,Javascript,Html,Canvas,我想用画布上的图像制作大量动画;使用canvas元素作为图像的缓冲区更有利(这样我们就不必再次调整大小),还是使用img元素作为缓冲区更有利 或者,如果性能是我应该做的最重要的事情,而我却错过了,那么有没有更好的方法,一个必须做的事情 另外,为什么“清除”画布的操作如此缓慢?我的背景是WindowsPhone7的xna编程,“清除”整个屏幕是最快的操作之一 另外,我应该通过设置width=width来“清除”画布,还是应该执行drawRect(0,0,width,height)?您应该使用画布元
另外,我应该通过设置width=width来“清除”画布,还是应该执行drawRect(0,0,width,height)?您应该使用画布元素作为转换图像的缓冲区,并在整数坐标上对齐drawImage调用。一旦需要变换图像,软件画布实现就会变慢(因为变换=重采样=慢) 见:
清理画布时,使用clearRect:查看高度和宽度,请参见等待。您的意思是说,与
drawImage(img)
相比,执行drawImage(c)
的速度更快吗?(因为测试证明并非如此。)我的意思是,如果你有一个正在绘制的变换图像(比如旋转或缩放等),你应该将变换后的版本缓存到画布中,以获得最佳性能。ok,酷,但对于我从url加载的普通图像。。我应该把它加载到画布中,然后DrawImage(c)
还是应该简单地DrawImage(img)
?我想现在我应该简单地使用DrawImage(img)。Chrome以前在drawImage(img)上有一个问题,它使用的重采样算法比drawImage(canvas)更昂贵,但我认为现在已经解决了。当然是YMMV了。@iimariheikkinen。好的,那么你想说的是,如果有疑问,请选择drawImage(canvas)
,因为绝对100%的速度,即使不是更快,它也永远不会变慢。对吗?