Hi, did you consider doing the processing of the "scene" in WASM then render by simply doing canvas.putImageData() ? All the drawing stuff could in principle be done in say C++, compiled to WASM using Emscripten, then plot/render using canvas? I'm wondering if that would be more efficient than using canvas itself for rendering? Dunno if you'd already considered or even tried this. PyQTGraph basically does this. All the "image processing" is done using numpy and scipy then offloads the rendering, i.e. the very last step, to QT. Otherwise, everything is done in numpy which is why PyQTGraph is so fast. In this case, all the processing, including decimating line graphs etc, could be done with a high performance library like Eigen, or a good Rust library. Maybe canvas is fast enough now that using WASM isn't worth it.
Hi, did you consider doing the processing of the "scene" in WASM then render by simply doing
canvas.putImageData()? All the drawing stuff could in principle be done in say C++, compiled to WASM using Emscripten, then plot/render using canvas? I'm wondering if that would be more efficient than using canvas itself for rendering? Dunno if you'd already considered or even tried this. PyQTGraph basically does this. All the "image processing" is done using numpy and scipy then offloads the rendering, i.e. the very last step, to QT. Otherwise, everything is done in numpy which is why PyQTGraph is so fast. In this case, all the processing, including decimating line graphs etc, could be done with a high performance library like Eigen, or a good Rust library. Maybe canvas is fast enough now that using WASM isn't worth it.