I think the issue are the remote controls in left menu because the left menu is loaded only at the first connection.
And we had additions of remote controls in the commits time by time because currently we load dmm, xtrend, and vuplus, various rc models with relative maps.
All the other pages are loaded via ajax in the middle content of the page without to reload the left menu.
For this reason the first load is too slow because only the first connection load the left menu.
I think that skaman for sure can check this and try to solve.
It' slow because of cheetah compiler. Openwebif is growing up and his code is every day more complex.
The main template is probably one of most complex for cheetah compiler because it contains many cheetah statements.
On first load cheetah spend a lot of time to convert the template in something runnable over the python engine.
Trying to do a page refresh from the browser openwebif always regenerate the main template but it's fast, because it have in his cache the compiled template ready to use.
The solution is exactly use cheetah-compile and use precompiled templates.
I imagined that could be happen when i started to write the base controller and this is why the capability to load compiled templates it's one of the first things added.
I think the best way to handle this is compile the templates during the deploying, for example inside the .bb