试图在a上管理10.000个简单形状<canvas>,我尝试使用缓存作为重绘的替代品.令我惊讶的是:
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
Run Code Online (Sandbox Code Playgroud)
被抛出 我使用相同的代码来缓存不同的对象,所以我认为问题不是缓存,而是canvas对象的数量.
也许我感兴趣的是我将形状设置为(0,0),将它们的大小减小到零.例如,即使矩形是6x3px大,也会发生错误,所以它不应该是关于大小调整的.
任何的想法?如果没有立竿见影的想法,我会简化发布的代码.谢谢,nobi
我需要处理许多只共享少量纹理的对象.手动定义和加载纹理(如SO上的另一篇文章中所述)感觉不对......更是如此,因为switch (index) {case:...}WebGL中没有任何语句.
所以我想传递纹理以用作顶点属性的顶点,并使用此数字作为fragement着色器中某些"纹理数组"的索引.但是采样器上的OpenGL wiki(不是WebGL的完美参考,但是我找到的那个)说:
采样器的变量只能以两种方式之一定义.它可以定义为函数参数或统一变量.
均匀采样器2D纹理1;
那对我来说听起来像我可以没有采样器阵列.我已经阅读了几页纹理单元,但直到现在,这对我来说仍然是一个谜.
在上面引用的SO帖子中,Toji暗示了一个解决方案,但想要一个单独的问题 - 瞧!
谢谢,nobi
PS:我知道使用"纹理图集"的另一种可能性 - 如果这更有效或更简单 - 我会很高兴听到经验!
我想在Python 2.7中使用aggdraw.(这是一个愚蠢的想法吗?我已经看到一个很好的aggdraw示例,但我不想回归到Python 2.6.是否有一个使用Python 2.7的等效绘图库?)我安装了Python 2.7.8 64bit Windows 7企业版SP 1 64位.
http://www.effbot.org/downloads#aggdraw的安装程序抱怨Python 2.6缺失,并python setup.py install抱怨缺少vcvarsall.bat.
因此,在此处的所有相关帖子之后,我从http://www.microsoft.com/en-us/download/details.aspx?id=44266安装了MS编译器.这是明显的,在"程序和功能"列表中,我有一个vcvarsall.bat在C:\Users\d031475\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0现在.
但是,它python setup.py install既不直接在CMD中运行,也不MS Visual... Compiler for Python 2.7在我的"开始"菜单中出现的命令提示符中运行.它仍然抱怨失踪vcvarsall.bat.
编辑:即使我将相关目录附加到我的路径,以便我可以从命令行运行vcvarsall.bat,python setup.py install仍然抱怨它找不到它.这有多奇怪?
aggdraw ×1
caching ×1
canvas ×1
html5 ×1
install ×1
javascript ×1
performance ×1
python ×1
python-2.7 ×1
textures ×1
webgl ×1