Hi,
Iโm developing a tool with a lot of tabs, sections and fields. The visibility and value of some of these elements are conditionned by other ones, meaning I have quite a lot of functions for setting the visibility and value. Each time an input is changing, the UI responsiveness is very slow. I wondering if all the inputs are being updated at the same time. Otherwise, I do not understand why it takes so long. In addition, as I added more fields and relationship between them, not only the responsiveness became even slower but I start having some issue with the memory of the Development workspace. To overcome this issue, I have to publish the tool into a dedicated workspace and test it there, and that works. Have you any suggestions for the issues Iโm facing?
Thanks,
Huy
Hi!
This reads like an interesting case. In general, of course a big parametrisation might lead to a slower performance, but really it should be very very little. Iโd be interested to see how big, how many parameters/lines of parametrisation we are talking about here. Also relevant to know is: are there any big expensive things happening in your conditions? Any big files you are parsing, any big datasets you are storing, etc?
What would lead to a slow app experience is if you have set up your visualisation/results to be โshortโ (meaning a duration_guess on the visualisation that is < 5). In that case, any update to the inputs by the user will retrigger the calculation of the result. In cases where such a result takes a long time to calculate setting the duration_guess higher is advised.
Hi Rweigand,
Thanks for your reply. We have actually about 1000 parameters in the parametrisation and we are parsing an Excel file of 2.1 MB. However, the parsing is only needed for some parameters. But whenever we change a parameter in the UI, the responsiveness is always slow, even if this parameter is not related to the Exel file parsing at all.
Thanks
Ah yes that sound quite large indeed! And all this fits inside of the abstract idea of a single entity? I ask because 1 thing to combat super large parametrisations might be to split up the logic in your app into multiple entity_types, that can live together inside of a tree type application.
Of course I have no knowledge of what you are trying to build or achieve, so there are a lot of things that can play a role here. For example, do you store a lot of that 2.1 MB of data in the parametrisation? Do you fill it using a ParamsFromFile
method?