Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态图像会导致性能问题吗?_Javascript_Html_Html5 Canvas - Fatal编程技术网

Javascript 动态图像会导致性能问题吗?

Javascript 动态图像会导致性能问题吗?,javascript,html,html5-canvas,Javascript,Html,Html5 Canvas,我正在用画布创建动态图像。我需要一个动态文本的图像,所以在画布的帮助下,我已经创建了base64图像并附加到图像标签上,这很好。但当动态图像的数量被创建时,我会在chrome inspectelement->Resources->images中看到。创建的所有动态图像都缓存在浏览器中,这将导致手机性能或内存问题,或者一旦使用,我是否可以删除这些图像。有什么建议吗 var image = new Image(); image.src = canvas.toDataURL("image/png");

我正在用画布创建动态图像。我需要一个动态文本的图像,所以在画布的帮助下,我已经创建了base64图像并附加到图像标签上,这很好。但当动态图像的数量被创建时,我会在chrome inspectelement->Resources->images中看到。创建的所有动态图像都缓存在浏览器中,这将导致手机性能或内存问题,或者一旦使用,我是否可以删除这些图像。有什么建议吗

var image = new Image();
image.src = canvas.toDataURL("image/png");

每次都应该重复使用相同的画布

使用画布图像后,从画布中删除所有图形

var ctx = canvas.getContext("2d");
ctx.clearRect(0,0,canvas.width,canvas.height);

然后再次在画布上绘制并使用它…

我正在使用.todata将画布转换为图像。返回的图像将添加到图像src中。对于使用新画布元素创建的每个动态图像。clearRect只清除画布是的,如果项目可行,那么您应该直接使用画布,而不是从画布创建图像。如果您经常创建图像,此转换也可能会在移动浏览器中导致性能问题,假设每秒10到15次,那么可能会导致性能问题,否则移动操作系统将在您释放其实例后释放这些内存,但是为了安全起见,您应该在下次创建图像时清除内存,以获得您想要的性能。我将尝试使用画布而不是图像,您的意思是,如果完成对图像的实例使用,操作系统将释放内存本身。