Details
-
Improvement
-
Resolution: Fixed
-
Major
-
16.4.6
-
None
-
Unknown
-
N/A
-
N/A
-
Description
Paged.js is used to split and layout the exported content into print pages. This process triggers a ton of DOM mutation events. Given that paged.js is called after the page is ready, i.e. after the exported content is loaded and fully rendered, it means there should be no other changes made to the exported content after paged.js starts the layout process, so there's no point in keeping the DOM mutation observers enabled (we don't want them to react to the DOM changes made by paged.js). This can win us a few seconds on large exports. For XWiki Standard we have a single DOM mutation observer active, coming from the Async Rendering module, but others may be provided by extensions.