【发布时间】:2020-03-18 14:55:55
【问题描述】:
我正在尝试在浏览器上从头开始创建 GIF 图像。这一切都有效,但它需要很多时间来构建感觉平淡无奇的小图像。 (高端 proc 上 300x200 和 100 帧需要 2.6 秒)
目前,我将所有数据连接成一个简单的Array,并在完成后将所有数据转换成一个Uint8Array。我想使用Uint8Array 会更好地提高内存和效率,但我没有弄清楚如何在创建数据时连接我的数据。
我每次都尝试重新创建Uint8Array,但这显然会降低性能。我尝试使用Stream,但从未成功。
// kinda concat
stream = new Uint8Array([
...stream,
...graphicControlExtension,
...imageDescriptor,
]);
MDN Stream 的例子只是令人困惑,所以如果有人能指出我正确的方向,那就太棒了。 =D
【问题讨论】:
-
stream、graphicControlExtension等是什么?字符串,其他数组? -
这就是我的问题的重点。截至目前,他们是
Array,但连接所有内容需要太长时间 IMO。应该有更好的办法。
标签: javascript performance memory gif typed-arrays