Hi, I've been with a customer this week and we tried to get a really really big form based application running on Mars M5a and while we could get things up and running there've been subtle bugs and a big performance loss on things like perspective switching when you have many many controls.
So let's start with the subtle things: * Activities did not work when one used stack in the perspectiveExtension [released fixed with 460414] * Publishing postselection events did work only after the part had been activated at least once [released fix with 460600] * We never call WorkbenchWindowAdvisor#postWindowRestore which has been reported before already as 450541. A gerrit review is pending but I'd like Paul, Dani or wh ever thinks knows enough about this ares to review it https://git.eclipse.org/r/42423 Now let's get to the less subtle stuff causing stuff anyone will see on first sight when running an 3.x application on 4.x. Performance degrades to a point where the UI is unusable. * Equinox freaks out when you have many bundles doing reexports. Pre Luna Equinox 2secs, Luna ~20secs for uncached starts, cached starts worked as before. We fixed that by removing the reexports who are a bad idea anyone agrees anyways. * The CSS Engine is freaking out causing big performance regressions when there are many child controls. Just run the application on 460840 to see what I mean * We are sending bogus part-activations when switching perspective. I guess it's not only RCP application that get affected by this. The problem is reported as 460835 and we came up with a fix but this is a very critical thing and others need to look at it. See https://git.eclipse.org/r/42677 * platform code as well as SWT-CTabFolder do layouts like layout(true,true) on shells and parent containers at will causing a freaking number of unneeded layouts. We identified them as: - [Bug 460744] New: CTabFolder forces relayout on parent when tab is added - [Bug 460747] New: Perspective switching does not appropriately layout shared components with MinMaxAddon - [Bug 460748] Compatlayer code schedules layoutDeferred calls on main shell who result in a complete relayout on perspective switch where both of them make no real sense. It's unclear what problem 460744 should solve, do we really want to relayout all siblings if a tabfolder gets a new item - in the eclipse perspectives this means you layout ALL currently visible tabfolders including ALL of their children containers (visible or not is not important - see 460745 for a request to fix this IMHO stupid behavior) The "winShell.layout(true, true);" in 460747 fixed for you (maybe with knowing it does it) the problem when you are switching perspectives and you need to reposition shared elements like the editor-area but the real fix getting us an unbelieveable performance boots on perspective switching is in the gerrit patch we provided as https://git.eclipse.org/r/42605 To summerize: * 460414 fixed * 460600 fixed * 450541 - review pending * 460840 - no idea how to fix, work around for 3.x apps ported is to run with -cssTheme none * 460835 - review pending, might affect IDE as well, IMPORTANT FIX! * 460744 - waiting for SWT to comment but curcial to get performance back to an acceptable level and the code IMHO makes no sense at all * 460747 - review pending, might fix IDE problems, IMPORTANT FIX! because with only this fix we can get acceptable (not good) performance if even if SWT does not react * 460748 - not sure we can get rid of these calls but given we can get 460747 this does not cause as much problems as of today * 460745 - generally speaking a nice to have because e.g. only the active child gets relayout when you resize the parent so why do you unconditionally layout all children? Tom -- Thomas Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck http://www.bestsolution.at/ Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck _______________________________________________ e4-dev mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/e4-dev
