许多画布对象会导致“无效状态错误:尝试使用不可用或不再可用的对象”
many canvas objects result in "InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable"
试图在<canvas>
上管理10.000个简单形状,我尝试使用缓存作为重绘的替代品。令我惊讶的是:
- 使用
ImageData
和canvas.{get|put}Image
似乎非常慢。 - 使用
canvas.createPattern
缓存模式几乎与重绘一样快。
为每个 - 形状缓存整个画布甚至比重绘更快。
但是,由于某种原因,某些画布在缓存期间中断。经过一些查找后,每隔一段时间(每 2-5 次缓存查找)检索一个画布,导致
InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable
要扔。我使用相同的代码来缓存不同的对象,所以我认为问题不在于缓存,而在于canvas
对象的数量。
也许我也有兴趣将形状动画化为 (0,0),将它们的大小减小到零。例如,即使矩形是 6x3px 大,也会发生错误,因此它不应该与大小有关。
知道吗?如果没有立即的想法,我将简化发布代码。谢谢,诺比
就我而言,我在画布面积为零的情况下看到了此错误:如果宽度*高度= 0,则此类画布在drawImage期间会给出此错误。
Ken 是完全正确的 - 尽管我已经看到矩形仍应为 6x3 时的错误,但当我将矩形动画化为大小 (1,1) 而不是 (0,0) 时,错误不再出现。
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- ajax InvalidStateError:试图使用一个不可用或不再可用的对象
- InvalidStateError:尝试使用不是或不再是可用 javascript 错误的对象
- 许多画布对象会导致“无效状态错误:尝试使用不可用或不再可用的对象”
- InvalidStateError:“试图使用一个不可用或不再可用的对象”;在基本的谷歌地图教程的例子
- 未捕获的InvalidStateError:试图使用不是或不再是usablee的对象
- KineticJS中未捕获的InvalidStateError:尝试使用不可用或不再可用的对象
- “对象object"在Javascript中不再可用