[Libreoffice] GSOC: performance improvement ...

Michael Meeks michael.meeks at novell.com
Sat May 7 12:32:14 PDT 2011

Hi Matus,

On Sat, 2011-05-07 at 02:19 +0200, Matúš Kukan wrote:
> I have a lot of work at school but I'm trying to do something.

	Hey - don't let me hurt your schooling - just wanted to make contact.

> Just in case top-level means default_images/ and ooo_custom_images/human/ etc. ?

	Correct :-) so those directories ends up as the top-level of the .zip
file when it is all packed up.

> And in ooo_custom_images/classic/ is just .tar.gz file. I don't know
> if it's bad and left it untouched.

	I believe that is dead in master - we should just git remove it.

> > desktop/source/deployment/gui/dp_gui_backend.src:    ImageBitmap = Bitmap { File = "commandimagelist/sc_helperdialog.bmp"; };
> I've tried to find sc_helperdialog.bmp but unsuccessfully. And it is
> problem with commandimagelist without res/ because i moved
> res/commandimagelist/ to cmd/ and don't know how to replace just
> commandimagelist, see below.

	Lol :-) it is probably just broken path; just replace it with
cmd/sc_helperdialog.png perhaps it is not even used in the code, if so
we can hack that out too.

> >        And then of course packimages needs a little tweaking.
> >
> > packimages/pack/makefile.mk:    $(FIND) $(SOLARSRC)$/$(RSCDEFIMG)/res/commandimagelist -name "*.png" | sed "s#$(SOLARSRC)$/$(RSCDEFIMG)/res#%GLOBALRES%#" | $(PERL) $(SOLARENV)$/bin$/sort.pl > $@.$(INPATH)
> But with this I don't know what to do. I don't know what %GLOBALRES%
> is. Seems to be path to .../res where commandimagelist was but now
> there isn't res folder with commandimagelist, just cmd. So it's not
> build-able.

	Wow - that makefile is nasty. Since we have to gnu-make-ise this stuff;
I would be inclined (personally) to rip and replace the sort.pl and
diffmv.pl scripts [ which suck and are only used here ], and merge them
all into one tool (packimages.pl).

	The trick here (I think) is to understand what is needed and simplify
it all into that one tool.

	The basic idea is that we have several inputs:

	* an image-sort.lst
		+ this lists the .xml files that describe standard
		  and advanced toolbars [ it is prolly out of date ;-]
		+ we parse this, and then read those xml files to
		  determine the order that icons will be requested in.

	* a directory path to the image lists
		+ eg. solver/300/unxlngi6.pro/res/img/
		+ since we have looots of artwork, much of which is not
		  used ;-) we build lists of referenced icons for each
		  resource file; and so - cat *.ilst | sort | uniq 
		  from that directory is the full list of files we want
		  to pack

	* fallbacks:
		+ our custom themes are not complete so we stack them:
		  tango on industrial on default_images
		+ that produces a composite theme with no holes :-)

	That's about it - anything else is prolly over complexity that we want
to kill :-)

> I also have created some patches but patch for moving
> res/commandimagelist/ to cmd/ has 13MB after compression so I haven't
> sent it now.

	Lets sort that out a different way then ;-)



 michael.meeks at novell.com  <><, Pseudo Engineer, itinerant idiot

More information about the LibreOffice mailing list