John Ehresman wrote:
Robert Roessler wrote:
This question was just about how asking Pango to use its *paragraph*
layout machinery when Scintilla doesn't really need that level of
functionality seems to be [possibly expensive] overkill...
Part of the reason is that pango's layout objects are what is most
widely used and what has been documented. Keep in mind that the
behavior of one of the calls scintilla does use changed recently, which
necessitated changes in scintilla.
That said, I've been tempted to go around the layout objects, though
I've always concluded that there was lower-hanging fruit in the
optimization of gtk / pango itself. I've also thought of caching line
layouts in the scintilla layout cache, but haven't because it requires
some reworking of the cache to contain platform specific references. You
also might see if there's an easy way to bypass the bidi direction
checking, if this is still an issue with the newer pango libraries.
I am still looking at this... BTW, I just went over the Pango-related
changes that went in at the beginning of August.
This was driven off of the fact that while Pango supports a mess of
calls of the form pango_{ft2,win32}_{font,render}...,
You probably don't want to use the backend specific calls because the
code becomes dependent on what backend is in use.
Well, besides the fact that I *may* ultimately only make changes in
the restricted case of GTK/Pango on Windows (since that seems to be
the worst performer), it is not clear that this *is* a "backend"
issue... I may be just getting into the world of GTK/Pango, but the
calls I mention appear to be only specialized to the extent I want
them to be.
In particular, aren't the specific implementations of the GTK/Pango
libraries free to use whatever they want to actually stuff the bits
into a bitmap? All these functions do is [presumably] reap whatever
optimizations are possible in being specialized for specific font
representations... right? Or is this where my model needs work? :)
As an aside, in these contexts, "win32" means TrueType fonts, while
"ft2" means FreeType fonts, right? Are either of these expected to be
replaced anytime soon?
You might want to profile and see where the time is going.
I don't think I can, in any useful sense... that is why I have done
the timing work so far - to make it clear that the time is being
sucked into the black box (hole?) of the GTK/Pango implementation(s)
running on Windows.
Without BUILDING [all of] the GTK components and Pango with my vc7.1
tools, it is not clear how to do detailed profiling. Now, if you can
point me at a real Makefile (NOT some ./configure script), or even a
VS workspace and collection of dsp files (I prefer the older
environment, even though I use the newer compiler) for building all of
this, *then* we could talk profiling... :)
BTW, thanks for the information and your insights - I really do
appreciate any help I can get on these performance issues... it gets
extremely frustrating when performance sucks, but it isn't in code I
can do anything about (but still have to use)!
Robert Roessler
[EMAIL PROTECTED]
http://www.rftp.com
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest