Skip to main content


OpenCascade supports multi-threading for certain operations, e.g. when creating triangulations using BRepMesh_IncrementalMesh. OpenCascade.js offers support for these multi-threaded operations using Emscripten's -pthread flag. Currently, multi-threading is done by spawing multiple worker-threads, which can access the same memory using a SharedArrayBuffer. For security reasons, usage of this feature requires you to host your site in cross-origin isolated mode, as described here. Refer to the Emscripten documentation for more information.

By default, OpenCascade.js is distributed as a single-threaded JavaScript library via NPM and a Docker Image, which allows you to create single-threaded custom builds. For the multi-threaded version, currently only a Docker Image is distributed, which you can use to create multi-threaded custom builds.