Created attachment 114072 [details] profiling screenshot Wile testing an alleged context switching bug using keyboard shortcuts, I noticed that LO was particularly slow at redrawing a Calc sheet that contained a macro button, so I did some profiling, see attached screenshot. There seems to be a significant performance hit in the PaintHelper module of on average about 100ms on my system : Nom du modèle : Mac mini Identifiant du modèle : Macmini4,1 Nom du processeur : Intel Core 2 Duo Vitesse du processeur : 2,66 GHz Nombre de processeurs : 1 Nombre total de cœurs : 2 Cache de niveau 2 : 3 Mo Mémoire : 4 Go Vitesse du bus : 1,07 GHz This manifests itself in that when say three different documents are open simultaneously (Writer, Calc, Database main window), context switching with the Mac keyboard shortcut Cmd+`causes noticeable delay in redrawing of the Calc sheet, and it appears to be systematically linked to calls to the PaintHelper module.
Created attachment 114073 [details] Breakdown of profile in PaintHelper The attached screenshot shows a breakdown of a PaintHelper call
Created attachment 114075 [details] exported profile as text
Created attachment 114076 [details] CSV export of profile run
I think this is somewhat misleading; the PaintHelper has some quite deep recursion IIRC but (I would hope) the real costs are all at the bottom while doing the actual rendering. At least, that is my hope =)
(In reply to Michael Meeks from comment #4) > I think this is somewhat misleading; the PaintHelper has some quite deep > recursion IIRC but (I would hope) the real costs are all at the bottom while > doing the actual rendering. At least, that is my hope =) Is there anyway I might be able to shed more light on this ?
Build switches, fwiw : --with-ant-home=/Volumes/BUILDHD/Shared/packages/apache-ant-1.9.2 --without-junit --enable-64-bit --with-extra-buildid --enable-ext-nlpsolver --enable-ext-google-docs --enable-ext-languagetool --enable-ext-diagram --enable-ext-typo --enable-ext-validator --enable-ext-watch-window --enable-extra-template --enable-extra-gallery --enable-ext-wiki-publisher --enable-extension-integration --with-lang=fr --with-help --enable-epm --with-package-format=dmg --enable-ext-mariadb-connector --with-system-mariadb --enable-bundle-mariadb --with-myspell-dicts
Unclear really =) it might be interesting to run libreoffice under cachegrind for OS/X to see if we can dis-aggregate the real cost of rendering that stuff to see where the badness truly is; of course it may be in the PaintHelper itself - but I'm suspicious =)