WTH dashboards are so slow?

Current dashboards are pretty, feature rich and so on but they seem very slow for something that is eventually a webpage with list of buttons.

They work fine on modern iOS/Android devices or in web browsers in laptops but one of the common use cases are wall panels or other cheap screens which usually have very slow CPU. I am not happy with performance of HA dashboard on Galaxy Tab A10 and when I tried using NSPanel Pro… Let’s just say that in my opinion it is unusable with HA dashboard.

Improvements that I was thinking of:

  • investigate performance of existing dashboards and make them quicker to render and interact with
  • change rendering technology (maybe flutter with web asm would be faster?)
  • some server side rendering things (I may be wrong here, I don’t know how it works)
  • create separate, lightweight and fast variant of the dashboards for slow devices
  • create Android (or multiplatform) app that would communicate with HA, read dashboard templates, and display them in native views in more efficient way

Those are just my ideas and I think experienced web engineer can came up with even better ones.

I think HA would benefit a lot from quicker dashboards as the interaction with GUI is how people experience it. Multiple smart home solutions already know this and focus on making the interaction fast (instant if possible), and putting the prettiness of the UI at lower priority.

I also have bad performance on mobile (pixel 9 pro android 15) and tablet (iPad Pro 2020 iOS 17). On my MacBook Pro M1 Max there it is mostly usable but on my MacBook 2018 not really. If I try to edit then my mobile is just working and my M1 also. The other devices are not usable for editing.

I use a complex dashboard, with card mod and some custom components. Yes I know custom components can make problems. But what I see from inspector is mostly the underwood of web components the problem generating 100k Dom elements and more. And on edit even more.

So I would love if someone checks the frontend performance. I would love to help with my dashboard showing the problem in detail.

Anecdotal at best - but I migrated from HA on a VM on a server on a magnetic hard-drive with ‘spotty performance’ to and SSD backed VM on a server with newer generation hardware - it’s now blisteringly fast - even on mobile (pixel 6A) - if you’re experiencing slow UI it could be the server rather than the client

I am using N100 based device and HAOS so it is quite fast. Works well on modern iPhone, iPad or Mac. Other devices have issues with rendering or they maybe have slow network interface, idk. My WiFi and range are also very good.

I usa an N5095, not that beast of a machine but also more then fast enough for Home Assistant. But the problem is the dashboard so client performance.

I have tested this on my M1 Max Apple Macbook in Chrome. And as you can see I have quite a lot of DOM Elements and in edit mode it gets worse.

Cpu usage is ok so far, the spike are from frigate. Ram is plenty free on the machine, but as said this is about the dashboard so mostly client related.


If you want to check you dashboard element count open Chrome → Inspector → Three Dots in the top right → More Tools → Performance Monitor


Even this little page with just 2 video containers and few buttons is over 30k elements. Yes that are frigate video cards so not Home Assistant core related but even with picture cards for the videos (btw I would use them if the video would run there, using restroom from frigate but video does not play or fast crashes on some devices for me). But why are there still over 1000 Javascript event listeners?

Frigate video card


Picture card for camera


So smaller dashboards are fast and I can still use and edit them even only older devices but I would like to be able to use and edit every dashboard on every of my devices.