In our single-page application we have two modes that the user can switch between. The most striking visual difference is that the top navigation bar is completely different, which is why we use crossfade between the two as visual cue to the mode change.
As the animation is playing , there's a lot else happening in the browser - DOM is updated and redrawn, XHRs are done, objects are created&destroyed etc. End result is that the animation becomes quite choppy. In fact, sometimes it seems as if no smooth animation actually happened, because the new navigation bar just appears in two or three steps.
Are there any tips or tricks that one could utilize to achieve smooth animation during time when javascript engine in the browser is under a lot of strain? Are CSS perhaps transitions any benefit? Any suggestions or quality reading material on this are welcome.