News from the project

Performance Improvements in cmmn-js

Published by Philipp Fromme on Tuesday, 15 November 2016.


Todays release of the latest version of cmmn-js introduces a new rendering layer that brings significant performance improvements to cmmn-js. The old layer based on Snap.svg is now gone from cmmn-js as well as diagram-js, the underlying diagram toolkit. With that sorted out, cmmn-js now imports diagrams twice as fast, is smaller in bundle size and feels more responsive. In addition to these changes, the release ships with improved direct editing for text annotations and fixes several bugs, too.

Performance Improvements

Snap.svg has been an integral part of both diagram-js and cmmn-js for a long time. It abstracts away a lot of the complexity of handling SVG elements in the DOM and provides great features like path intersectionss. Unfortunately it comes with a huge performance impact as well. Since our tools only use a fraction of the features provided by the library we wanted to remove it from our toolbelt for a long time. With the new rendering layer cmmn-js is significantly faster and feels more responsive. For more details on performance head over to the bpmn-js release blog post.

What's next?

We are looking for your feedback regarding the performance and the API changes.

Make sure to follow us on Mastodon if you would like to keep track on what is happening in the bpmn-io sphere and tell us what you think about this release on our forums.

Get the latest cmmn-js release via npm or bower.

Are you passionate about JavaScript, modeling, and the web?
Join Camunda and build modeling tools people heart.