Distinct performance issues with Japanese only on win32 systems

2009-07-21 Thread David E. Hollingsworth
Hello, I have noticed significant performance issues with pango when displaying Japanese text on win32 systems. Thus far, I've assumed that this was a configuration issue, but I've encountered the problem using the stock gtk+ win32 binaries on what I believe is a standard msys/mingw setup on bot

Re: Distinct performance issues with Japanese only on win32 systems

2009-07-22 Thread David E. Hollingsworth
Hello, I have investigated this more. It does not appear to be a configuration issue, nor specific to the particular code I was using. The problem appears to be the way that Pango is using Uniscribe. If you run gedit for win32 and load a moderate-length (120kB) Japanese document, it takes seve

Re: Distinct performance issues with Japanese only on win32 systems

2009-07-23 Thread Tor Lillqvist
> If you run gedit for win32 and load a moderate-length (120kB) Japanese > document, it takes several seconds, whereas an English equivalent > document is essentially instantaneous. Hmm, is this the time it takes to process the entire document through Pango? Or just one screenful? I,.e, is the tim

Re: Distinct performance issues with Japanese only on win32 systems

2009-07-30 Thread David E. Hollingsworth
Tor Lillqvist writes: > Hmm, is this the time it takes to process the entire document through > Pango? Or just one screenful? I,.e, is the time proportional to the > length of the document? It's proportional to the length. The real test is the C code I referred to in the previous message. The

Re: Distinct performance issues with Japanese only on win32 systems

2009-08-11 Thread David E. Hollingsworth
A few weeks ago I reported a performance issue regarding the use of Uniscribe in the win32 basic shaper. It turns out that the issue was with the use of Uniscribe's SCRIPT_CACHE. Despite the name, this value is for caching per-font-plus-size values, not per-script values. See: http://msdn.mi

Re: Distinct performance issues with Japanese only on win32 systems

2009-08-11 Thread Tor Lillqvist
> Since shaping occurs on runs containing a single font, we only need > one SCRIPT_CACHE in uniscribe_shape.  I'm including a patch below that > does this.  With the patch applied, the time for one of my tests went > from 20s to .3s. Wow! Thank you very much for investigating. Will apply the patch

Re: Distinct performance issues with Japanese only on win32 systems

2009-09-10 Thread Tor Lillqvist
> Wow! Thank you very much for investigating. Will apply the patch. I applied the patch already in mid-August to the stable and development branches, but unfortunately it turns out that after the patch, shaping of complex scripts is quite broken. Sorry that I didn't notice earlier. The Arabic in g

Re: Distinct performance issues with Japanese only on win32 systems

2009-09-10 Thread David E Hollingsworth
My apologies for not running gtk-demo to check before offering the patch! I'm not going to be able to look into it more for a while, so reverting may be the right choice at this time. David E Hollingsworth ___ gtk-i18n-list mailing list gtk-i18n-

Re: Distinct performance issues with Japanese only on win32 systems

2010-04-08 Thread Fredrik Corneliusson
Hi, It seems Pango uses the Uniscribe script cache in a sub optimal way. Pango always create new script caches and throws them away in each call to uniscribe_shape. But in the Uniscribe docs it does not say that the cache needs to be cleared between ScriptItemize calls. We did some experiments and

Re: Distinct performance issues with Japanese only on win32 systems

2010-04-08 Thread Tor Lillqvist
Hmm, Fredrik, is this related to the earlier thread from half a year ago or not? Is this a new and improved solution to the same problem? You don't mention the earlier patch (which was reverted because it broke Arabic shaping, for instance) at all...? --tml

Re: Distinct performance issues with Japanese only on win32 systems

2010-04-09 Thread Fredrik Corneliusson
I just saw that I mentioned the wrong Pango version, It's actually a patch for Pango 1.26.2. not 1.16.2. I would like to thank Dave E Hollingsworth for finding and working on this issue in the first place. On Thu, Apr 8, 2010 at 8:17 PM, Fredrik Corneliusson wrote: > Hi, > It seems Pango uses th

Re: Distinct performance issues with Japanese only on win32 systems

2010-04-09 Thread Tor Lillqvist
> Yes this is related to Davids patch. It differs from that patch in > that it keeps the separate caches for scripts and only makes them > static. Ah, yes. I replied in a hurry without actually having even looked at your patch, sigh... It is quite minimal, I love that! > Reading the uniscribe doc

Re: Distinct performance issues with Japanese only on win32 systems

2010-04-11 Thread Tor Lillqvist
I am not sure I would trust basing the hash on the pango_font_description_hash() value. I would prefer to use the specific HFONT for each run of glyphs from one physical font. I'm too lazy to look up right now how in the basic-win32.c code one can find that information... --tml ___

Re: Distinct performance issues with Japanese only on win32 systems

2010-04-12 Thread Fredrik Corneliusson
Hi Tor, I think its "pango_win32_get_hfont" in pangowin32.c. static HFONT pango_win32_get_hfont (PangoFont *font); I removed the static and defined it as external to be able to call it from basic-win32.c. Unfortunately calling the "pango_win32_get_hfont" in "itemize_shape_and_place" function seems

Re: Distinct performance issues with Japanese only on win32 systems

2010-04-18 Thread Fredrik Corneliusson
Hi Tor, I managed to create a modified version of the "pango_win32_get_hfont" function called "pango_win32_peek_hfont" that do not break the rendering. Patch now uses the hfont & script for the script cache mapping. Regards, Fredrik On Mon, Apr 12, 2010 at 4:59 PM, Fredrik Corneliusson wrote: >

Re: Distinct performance issues with Japanese only on win32 systems

2010-06-17 Thread Fredrik Corneliusson
FYI, This issue is now reported in bugzilla (bug number 621869). https://bugzilla.gnome.org/show_bug.cgi?id=621869 Patch attached to ticket. Regards, Fredrik On Sun, Apr 18, 2010 at 6:03 PM, Fredrik Corneliusson wrote: > Hi Tor, > I managed to create a modified version of the "pango_win32_get_

Re: Distinct performance issues with Japanese only on win32 systems

2010-06-17 Thread Tor Lillqvist
> This issue is now reported in bugzilla (bug number 621869). > https://bugzilla.gnome.org/show_bug.cgi?id=621869 Yes, thanks. Will test shortly and apply, thanks! --tml ___ gtk-i18n-list mailing list gtk-i18n-list@gnome.org http://mail.gnome.org/mailma