This issue could be a mixture of both - available server resources (how many other things you have running at the same time? how many users? is this app slow even out-of-office-hours?) and also QV itself. Example - QV always calculates what's visible on the screen at the moment, i.e. all big straight tables with many dimensions and expressions, bringing large volumes, calculated dimensions, set analysis etc. All hidden, minimized objects or objects on other tabs aren't calculated, which is good. Maybe think about adding some initial bookmarks on opening so the data set is slightly narrowed down for all of your users.
Thank you for your replies.
Yes it could be a mixture of the app and server resources. It's interesting (frustrating) because the app itself is not very complicated but have a few calculated dimensions like =if(aggr(rank(sum(XXXXX)), YYYYY)<=ZZZZ, YYYY, Null()) and expressions like If(fabs(column(1))>0, (column(1)-column(2))/fabs(column(2))), and 3 tabs with 4-5 graphs in each.
Sometimes the app runs very fast in web view also (less than 0.1 sec per filter change), but sometimes more than 30-40 seconds. It does seem related to server workload as it's often fast during out-of-office hours. It doesnt make sense though as all the other apps runs just fine, being as complex.