Home Forums DITA and XMetaL Discussion Xmetal very slow opening documents Reply To: Xmetal very slow opening documents

Derek Read

Reply to: Xmetal very slow opening documents

There is no logging for this type of thing. The first thing I would try (if you have control over your customization) is to replace your CSS file with a zero length file (empty). If that speeds things up considerably then add portions of it back.

If that does not help at all then I would look at your MCR file to see if it is doing something significant during file opening and initial rendering. Stepping through your code with a debugger may pinpoint something. If something is identified that looks like it is taking a long time it is possible to time it by use of the Date() object (if using JScript). Create a new Date() at the start of what you want to time, then another at the end, and then subtract the two to get milliseconds. Keep in mind that a lot of script that runs at startup is part of the XMetaL Author application (and differs depending on whether you are running Essential or Enterprise) and CMS integrations also do things at application startup as well as document loading.

One known issue with rendering speeds and CSS is the background-color and border properties. If these are set on significant portions of a large document (ie: the root element, or similar large sections) that will slow rendering down.

If your customization includes a lot of inline XFT forms (XFT forms that are embedded inside the document to replace certain elements) that is another potential bottleneck in rendering speed. An XFT form might also contain code that needs to finish before it is rendered. The best strategy in such a case is to convert as many of these forms as possible to other types of UI. That will vary depending on what the forms do. In some cases we have seen clients use them instead of using toolbars, so putting their functionality into a toolbar or the context menu might be possible. When that doesn't make sense, and the form is used for inputting data, then changing it to a dialog (so that it opens when the element is clicked on) will speed up rendering of the document.