How to improve Studio Performance
Learn what you need to pay attention to in order to have a fast Studio
What you'll learn
- Know how to customize a fast Studio
Prerequisites
- Studio development experience
Time matters
Should I read this?
For performance optimization, we recommend to examine your Studio customizations for possible expensive or leaky components.
-
Check, whether your customized Studio contains any component leaks caused by instances that get not destroyed after closing document tabs. Components are typically leaking because of un-detached listeners, poorly overwritten destroy() methods or missing cleanup of components not embedded in the component hierarchy (windows or other floating components). Our Studio Developer Manual provides a step-by-step description how to detect component and other memory leaks.
-
Buttons that open windows should instantiate them lazy with the first click. This approach ensures that documents open faster due to less initially created components.
-
We recommend keeping RichTextFields as lightweight as possible. Especially the first document tab should not be overloaded with editing functionalities.
-
Less commonly used property editors, above all RichText and LinkList editors, should be moved to separate document tabs within a WorkArea tab. Studio instantiates every property lazy.
-
As a WorkArea tab can be a very complex component, its lifecycle management from creation to destruction can be quite costly. To increase performance, we offer the possibility to reuse tabs for multiple working items instead of creating new tabs over and over again. You have to use the Studio plugin
ReusableDocumentFormTabsPlugin
. More information about the concept and usage of re-usable tabs can be found in the Studio Developer Manual. -
Check whether blob (especially markup) requests are called too often. Open a CMArticle, change title and see whether a request for the ‘detailText’ property is made. If that happens, there is a problem with blob reloading. Check whether your blob request responses have correct ETAG response headers. Check for example requests for the CMArticle ‘detailText’ markup property. The ETAG response headers must be present and must not have a ‘-gzip’ or ‘-deflate’ suffix. If any of these problems occur, you probably need to check your Apache configuration. Your dev-ops will know what to do. Helpful links are:
-
Use Chrome. The Chrome browser has the best performance with Studio