On Wed, Dec 07, 2016 at 12:12:37PM +0000, Michael Meeks wrote:
Is there some debilitating performance problem that slows us
all down that could be improved with an investment of time ?
Is there something that badly needs doing, but is too hard,
dull, etc. to have got done yet, but which could be done with
some money applied ?
Few things that come in mind:
* Our text layout performance is abysmal, all over the code base it is
assumed that shaping text is cheap and we can do it over and over
again. Want to measure the text? Shape it and discard the output
afterwards. Want to measure part of the same text? Shape again. Want
to find line breaks? Shape again. Want to finally draw it? Shape
again. This might have been cheap for Latin script in the olden days
when all we did is query font cmap table and put glyphs next to each
other, which is not the case anymore and never been the case for more
involved scripts. We need to work on this, and there are many
possibilities; retaining shaping results much longer, improving the
wasteful OutputDevice API, caching etc.
* Fixing the bad text spacing we have due to lack of subpixel
positioning. All graphics system we use (except GDI, but this is
dying) support subpixel positioning but we make no use of it as all
our glyphs positions are stored using integers (not to mention the
rounding errors all over the place). This results in very bad text
spacing and it gets worse on hidpi screens.
* Migrating to single modern 2D graphics library, be it Cairo or Skia,
and sorting out our graphics and text drawing inconsistencies.
Regards,
Khaled
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.