Bad perfomances on Dashboard

I have a large dashboard (around 15 tabs). Upon loading the Dashboard I notice a very long time before I can get it working. As it is quite annoying, I made a Lighthouse report on it (attached) and - as you can see - the problems of the slow operation are all out of my control. Perfomance index: 19%. It looks like the dashboard palette itself has bad performance, but I hope I am wrong and that I can do something to improve it.

Ideas?

LilioRED_summary.pdf (259.9 KB)

Maybe you can tell us on what device and OS node red is running.
I know that on a rabo reader it works not good.

How many graphs? If you have any, how much do you send to them and how often?

You're right, sorry. It is running on a Raspberry 3B+

Just one, small, it is updated on request. Anyway, if you read the report from Lighthouse, you'll see that problems are not into the flows, but (according to what they say), in the HTML/CSS/JS

If you open the dashboard on a regular (more beefy) computer, do you see same delays? Is the report better when generated from the beefier machine or just the same ?

I open the dashboard on powerful workstation (Mac M1) on Firefox, Safari o Chrome. The same. That report was generated from a Mac

Is there an iFrame embedded in there? Also, do you have a load of ui_template code?

Certainly there are some pretty poor web practices built into the core Dashboard code. Not really anyone's fault, it is simply showing its age. For example, it contains non-passive event listeners which cause blocking events.

But you certainly have some very heavy stuff in there with 1.5s of blocked time vs 240ms on my simple Dashboard. and over 6 seconds to first content paint vs .3s on mine.

Unfortunately, Dashboard is based on Angular v1 which is really past its sell-by date.

1 Like

No iFrames and just 2 or 3 ui_templates. But I have many ui_controls to refresh elements in dashboard (I cannot do otherwise). And there is also the https overhead (probably).

Anyway, yes I agree with you. Dashboard needs a very deep renovation and modernization.

If you are prepared to write some HTML, uibuilder will let you create something as efficient as you like :wink:

Yes. The problem is that it is not just "some" HTML. And it will mean that I will be focused on the GUI more than on the logic of the flows...
Thanks anyway!

I think you will find this thread about the dashboard very insightful and helpful:

I was able to make a few tweaks and get the performance up a little.
Honestly, a 3B+ Pi is just going to struggle with anything too elaborate on the dashboard side.

2 Likes