1

我正在尝试通过使用 AssemblyScript 将其从 Typescript 移植到 WebAssembly 来提高相当密集的图形方法的性能。该方法操作ImageData画布。

我无法将这个ImageData(或至少Uint8ClampedArray)从 Typescript 传递到 AssemblyScript。我找到了一个非常好的教程,详细介绍了如何创建这些数据并将其从 AS 发送到 TS,但没有找到太多关于反过来的信息。

我很想知道如何做到这一点,最好不必Uint8ClampedArray在 AS 中制作新的副本,但我不确定这是否可能。关于它为什么是(不)的详细信息将不胜感激!

4

1 回答 1

2

我很想知道如何做到这一点,最好不必在 AS 中制作 Uint8ClampedArray 的新副本

您不能通过 WebAssembly 直接读取/写入画布,如this answer to a similar question 中所述。您可以在 WebAssembly 和宿主 JavaScript 之间共享一个WebAssembly.Memory实例,但是,对于您渲染的每一帧,您仍然必须将图像从该内存复制到您的画布中。

于 2020-04-11T14:31:03.407 回答