What is the best way to start investigating why Visual Overview takes a few seconds (15-20 s) to load all the data?
What steps should be taken?
A slow loading Visual Overview can be caused by a lot of things. There isn't really a go-to way of solving this, but i typically check the following things:
- Is the UI freezing up during the loading? This can be caused by doing a lot of work on the UI thread (having too many shapes on the Visual Overview) or when a server message is sent on the UI thread (this is harder to spot, but can be investigated with the client test tool or the logging in Cube).
- Is a lot of data being fetched by shapes on the Visual Overview? Typically we're looking for big tables that are used for advanced Visual Overview features (e.g. dynamic positioning, children shapes, ...).
- Are we sure it's the Visual Overview causing the problem? Cards often open on the Visual Overview page. A common misconception is that the Visual Overview is causing the delay when in reality it's something card related. This can be checked by inserting a blank page as the first Visual Overview page. Visual Overview pages are lazy loaded, meaning the load will only start when opening that specific page. See if the delay still occurs when opening the second page of the Visual Overview.
- If none of the previous suggestions work, you can always try removing shapes from the Visual Overview until the Visual Overview is loading quickly again. Typically, it's only one shape that's causing the delay, identifying that shape is crucial into resolving the problem. You can quickly create duplicates of a page in Visio. Remove some shapes from the duplicated page and duplicate it again. You are looking for shapes that cause the loading time of a page to drop significantly.
Sounds like you found the root cause of the slow loading.
The conditional highlighting will subscribe on the required data of the condition. It is not constantly checking up on the services, it will only reevaluate the condition if something has changed.
Note that 720 services is a lot. It’s possible this can still be enhanced in the software, but i do not advise doing highlighting on these large shape sets.
You can use the client test tool to attach to Cube (Follow->Follow...->Hook into active session->[select Cube in the drop-down]->click OK). When the visual overview is opened, client test tool will intercept all the communication between server and client.
Using the timestamps you can then investigate which request takes a long time to respond or which events are slow to come in. Added bonus to this, once the slow responder is found, you can immediately open the request/response to see which data is forwarded to the server and use this for further debugging (i.e. to manually execute the request on other servers/datasets).
If the requests get a response fast but there is a delay before the next request is sent, then the issue is most likely in the way the visual overview is built where processing/displaying some data takes a bit of time.
thank you. Doing the follow helped.
There are 720 service objects. This went fine until we added the Highlight tag to implement a search option (so that only matching services are highlighted).
When clicking an object, a popup loads, displaying a visio page from that service, showing details from that service (mostly property values).
Before having added the Highlight tags, the visio loaded quicker, but also the popups loaded much faster.
Is it possible the Highlight feature is constantly being checked on all 720 services?
Is it a possibility to only do the check once the ‘search’ variable changes?
In a Follow in slclient test tool I notice a lot of ‘Update subscription set’, containing quite a few PropertyChangeEventMessage entries
I don’t see these when doing a follow on the visio without the search/highlight option
During the popup action I also noticed an Update Subscription of subscription sets, but only a few seconds after that message did the data load in the popup.