Menu

#55 SynEdit very slow on long lines

open
nobody
None
5
2015-04-29
2015-04-28
No

Hello,

I am editing text files with very long unicode lines (>6KB, I won't go in the details, but I am ending up with UFT16 encoded png files in editable text, test scripts...).

SynEdit seems very slow handling these lines, even with no highlighter...

Any clue what could be done to speed that up?

Thanks,
Cyrille

Related

Support Requests: #55

Discussion

  • Cyrille de Brébisson

    Hello Again,

    I did some debugging and it seems that the issue is in the ExpandAtWideGlyphs function.

    The text that I have, as stated above is, in fact, a png file (12KB) which is encoded in unicode. The encoding use is 15 bits of data per characters using characters from 0x21 to 0x8021 (simple, 15 bits of data per 16 bits on drive, does not go in any 'bad' area of unicode)... This means that the long line is a long set of weired characters :-(

    I am assuming that the slow down comes from the need to calculate the width of each glyph in the string here...

    It should be possible to limit the calculation to the visible size of the string, that should speed up the process significantly, but I am not sure on how to implement that...

    Cyrille

     
  • Cyrille de Brébisson

    Hello Again,

    Great when users solve their own problems, isn't it?

    I have 'fixed' the problem, or at least am hiding it by doing the ExpandAtWideGlyphs incrementaly, only when needed in the inner PaintLines loop (well, one level deeper).
    I had to implement a nev version of ExpandAtWideGlyphs that can work incrementally to do that (based on the existing one)..

    It seems to be working for me, but I am not sure how it will work with word wrap.

    Question, who do I contact to submit the change?

    Cyrille

     
  • Roman Kassebaum

    Roman Kassebaum - 2015-04-29

    Hi Cyrille,

    the SynEdit project moved to GitHub: https://github.com/TurboPack/SynEdit

    --
    Roman

     
  • Bas Schouten

    Bas Schouten - 2015-04-29

    I thought it had moved to https://github.com/SynEdit/SynEdit

     
  • Roman Kassebaum

    Roman Kassebaum - 2015-04-29

    https://github.com/SynEdit/SynEdit doesn't seem to be active any longer.

     
  • Bas Schouten

    Bas Schouten - 2015-04-29

    SynEdit/Synedit was updated when XE7 came out ... and uses the original packages setup
    That doesn't mean that the packages setup of TuboPack/SynEdit is not good .. but its a different product.

     
    • Dean Harmon

      Dean Harmon - 2015-04-29

      Agreed.  The SourceForge packages are still the primary source of truth.  the one Roman pointed out seems to be his own work.

        From: Bas Schouten <bascy@users.sf.net>
      

      To: [synedit:support-requests] 55@support-requests.synedit.p.re.sf.net
      Sent: Wednesday, April 29, 2015 9:12 AM
      Subject: [synedit:support-requests] #55 SynEdit very slow on long lines

      SynEdit/Synedit was updated when XE7 came out ... and uses the original packages setup
      That doesn't mean that the packages setup of TuboPack/SynEdit is not good .. but its a different product. [support-requests:#55] SynEdit very slow on long linesStatus: open
      Group:
      Created: Tue Apr 28, 2015 06:00 PM UTC by Cyrille de Brébisson
      Last Updated: Wed Apr 29, 2015 01:09 PM UTC

      Owner: nobodyHello,I am editing text files with very long unicode lines (>6KB, I won't go in the details, but I am ending up with UFT16 encoded png files in editable text, test scripts...).SynEdit seems very slow handling these lines, even with no highlighter...Any clue what could be done to speed that up?Thanks,
      CyrilleSent from sourceforge.net because you indicated interest in https://sourceforge.net/p/synedit/support-requests/55/To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       

      Related

      Support Requests: #55

  • Roman Kassebaum

    Roman Kassebaum - 2015-04-29

    But XE8 already came out.

     
  • Roman Kassebaum

    Roman Kassebaum - 2015-04-29

    IMHO there shouldn't be so many different libraries. Now we have one under sf and two under GitHub.

    And no, it is not my own work. I already merged the sf and SynEdit/SynEdit version.

    Any yes, the TurboPack version is the one that ships with XE8 and GetIt.

    But if you want to maintain the other versions, it is your choice.

     

Log in to post a comment.