EventSystem.Update() chewing up 67% time

I have a lot of UI elements in my app and they are using up most of the device horsepower.
Rendering aside, EventSystem.Update is using almost 70% of frame time in profiler. I’ve already disabled raycasts where I could, is there anything else I can do?

do your MonoBehaviour’s declare void Update(), but nothing inside if it?
How many scripts have that?

no and I have only few scripts with Update. But then maybe it doesn’t matter that mach compared to rendering time. On desktop EventSystem.Update is called every frame because of mouse move but on android only when finger is touching.

I was thinking that maybe having some toolbars in separate canvases that don’t overlap could help? raycast could be eliminated early instead of being called on each ui element. If canvas is ‘smart’ enough, that is.