fougue / mayo

3D CAD viewer and converter based on Qt + OpenCascade
BSD 2-Clause "Simplified" License
1.42k stars 271 forks source link

wasm reply #220

Open long0419 opened 1 year ago

long0419 commented 1 year ago

The Mayo application has encountered several performance issues on the Windows client, and in some cases, it's even incompatible after installation. This client is primarily intended for 3D file format previewing, including interactions with 3D files. WebAssembly (wasm), aside from being cross-platform and independent of the underlying operating system, offers excellent zero-copy functionality and performs well in file rendering.

@HuguesDelorme I can contribute to this project if possible. Rewriting it in Rust could also be a good option.

Originally posted by @long0419 in https://github.com/fougue/mayo/issues/160#issuecomment-1684930200

HuguesDelorme commented 1 year ago

How wasm port of Mayo can be faster than current native app? Can you please elaborate more on the performance issues of the Windows version of Mayo? And also the issues after installation? Maybe these problems can be fixed. If it's about STEP file format there's nothing to be done about it as support is provided by OpenCascade 3rdparty library. Rust won't be of any help also for that.

long0419 commented 1 year ago

For the Windows version, it's not just about its current state. To make this app more successful, focusing on its extensibility is important. OpenCascade itself might not be ideal, perhaps limited to general format conversion. There are numerous ways to achieve compatibility and display STEP format. The strongest suit of this system lies in its approach to 3D file manipulation. I aim to transform this functionality into a web-based approach, avoiding the use of three.js.

Can you tell me specific methods to compile this code local?

Sure, I'll take a look at the repository you provided to gain a better understanding of the context. https://github.com/EYHN/space-thumbnails