My application has a tabsheet with several a (sub-) tabsheet in it. When switching between tab’s, this appears to be very slow in Firefox, but quit fast in google Chrome. However, we would not like to force our customers that will be using the application to use Chrome. Is there a way to make things faster, just like in Chrome? (i allready turned off vaadin debug mode, but this does not result in a speed enhancement)
Jan, how the slow is the switch in FF ? 1 second, 10 seconds, 1 minute ? Also, is it slow only for the first switch of each tab and further switching is faster ?
If you remove the nested tabsheet (sub tabsheet) will it switch between tabs faster ?
BTW, Chrome (and Safari) are fasters browsers in a World, so any rich application will not run as fast as in Safari/Chrome, at least for current browser versions.
Switch in FF is about 3 seconds, which doesn’t really give the fealing of working in a normal application instead of a webapplication. The switch is slow for each switch that you make and is remarkable to notice that the switch takes the same time to load no mather what the content is of the newly selected tab (much/less components, large tables, …)
So, if you will, say, put a single label to one tabsheet, switch to it will also take 3 seconds ?
While TabSheet is lazy by its nature and load sheet contents only on the first switch, this (first) switch is usually longer than subsequent switches to the same tab.
Is the problem reproducible with the Sampler demo ?
Just a hunch, but what type of layouts do you have contained within the tabs? Vertical/Horizontal/GridLayouts are known to be much slower to render on FF than in other browsers (due to deep element hierarchy and dimension measurements), so this might be one reason to the slowness.
You could try using CssLayouts and see if it makes any difference.
Main layout is VerticalLayout.
Tab 1 and 2 have FormLayouts.
Tab 3 is an expertiment with a VerticalLayout with multiple embedded VerticalLayouts (due to
this problem )
Removing Tab 3 makes a major difference on client side processing time. I thought just the viewed tab was communicated…
Replacing all VerticalLayout with CssLayout seems to help a bit. We will have to evaluate the resulting performance.