Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Optimising a front-end QVW for CPU usage

Hello all,

I conducted tests in order to optimise a front-end QVW and found results that were counter-intuitive. Can someone please confirm that I am mistaken?

I have built my QVW in such a way that the tabs are hidden and navigation is solely via text boxes arranged at the top that activate and open the related sheets. I have renamed all my Sheet IDs.

I then created a variable and for each object within a sheet, I inserted a calculation condition based on this variable. I then added the variable as an action to each text box (button) meant for navigation.

Therefore, sheet 1 objects only calculate when sheet 1 is activated via the button. All other objects on the other sheets do not calculate and are blank (which I can see when unhide the tabs and go to the other tabs). Therefore, the app just calculates the objects on the sheet that the user activates.

I initially had the impression that this would make no difference to the CPU usage, as QlikView shouldn't use resources to calculate objects it is not currently showing.

However, cross-comparing the 2 apps with Task Manager open seems to suggest that making a filter selection and navigating through the pages has a lower CPU usage (maxes out at 2%) in the QVW with calculation conditions for exactly the same navigation in the QVW without calc condition which goes until 10% CPU usage.

Can someone please confirm that I am mistaken?

Cheers

3 Replies
Not applicable
Author

Perhaps this thread could give you some to work with:

Best Practices for Optimizing

Siva_Sankar
Master II
Master II

Hi,

Find the details below to optimize qv in design level. Try it.

Not applicable
Author

I believe that adding a variable to show or hide each object (or calculate on condition) can have a negative impact on performance on the server's side.

This can impact on the rendering performance on the client's side. If enough object conditions are calculated on each tab and the amount of data is big enough it can even reach the point where the server does not have enough time to calculate conditions before the client renders the content, making some objects to remain hidden or calculations to remain undone.

My recomendation is that you do not add any variables to show or hide each object but just a variable to know the tab that needs to be activated (to switch between tabs). I beleive this to be much better for performance.

Calculating what is needed only for each tab can impact badly on performance. QlikView uses cache on the server side to keep on RAM the calculated objects and selections so that it is much faster to go to previous selections or the selections that another user has made. This means that it's actually better for performance to have objects calculated beforehand. Calculations will be faster and consecuently rendering will start earlier.

Hope this helps.