App Performance Optimization - Part 2

Performance Optimization

This is the second part of the Performance Optimization blog. This time, the focus is on five things you should know about before adding text formatting and choosing the right object to avoid rendering latency. Even though the screenshots are taken from QlikView, some of the items are also related to Qlik Sense.

As BI apps become more and more complex based on growing data sets and more extravagant UI designs, maintaining quick response times can be challenging, yet is critical to the user experience. A beautiful and flawless UI can quickly be overshadowed by long calculation and load times.

1. Use Text Formatting Intentionally

Generally speaking, using chart properties is a better approach to formatting than coding color and text formatting. Formatting on dimensions triggers single threading on the entire chart calculation.

2. Use Button Objects vs. Text Objects to drive UI Navigation

If you have a UI heavy application, with a lot of ‘buttons’ driving navigation and selection actions, there could be a significant performance advantage to using button objects vs. text objects. Text objects seem to pre-calculate the actions when the sheet is opened or the state is modified, while buttons only calculate when pressed.

3. Utilize Calculation Conditions on Hidden Objects

You may see some performance benefits to using both chart level calculation and show conditions for conditional objects. Adding a calculation condition ensures that the object will not calculate when the chart is hidden.

4. Optimize Controls

Avoid variables beginning with ‘=’
The ‘=’ causes the variable to be calculated with every change of state (every click). Utilizing techniques such as $() dollar sign expansion or island table controls can yield much better performance results.

5. Drop Unnecessary Data

Even though you might have gone through the exercise of removing the data that is not needed in your application, when the development is completed, go through this exercise one more time. To do this, utilizing DocumentAnalyzer produced by Rob Wunderlich (Qlik Consultant and Trainer) is recommended. Once you load the data of your application, it identifies which fields are NOT utilized anywhere in the app. That is your target list of dropping the unnecessary fields (data). If you see all fields as in-use, then congratulations. Continue with publishing the app in production. Removing unnecessary data not only reduces the size of the application but also enables the app to perform better.

Nicole Abernethy, Sr Consultant

Subscribe to our newsletter