Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


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.