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

Reply via email to