我知道操作 32 位类型的 ImageData 数组比 8 位要快得多(2 倍)。简单地阅读它们也是如此吗?
编写时,您将工作从 3 个索引增量和 4 个分配减少到 3 个位移位和单个分配,并将循环开销减少了 75%。要读回它们,您同样会减少循环开销并将增量转换为位移,但仍需要为 r、g、b、a 分配 4 个单独的变量。
这是 manip diffs 的工作台:http: //jsperf.com/canvas-pixel-manipulation/24
如果大部分速度提高来自于减少赋值,那么将我的读取繁重的代码转换为类型化数组可能不值得。在我花时间写另一个板凳之前,有人有这方面的经验吗?
谢谢!