Re: Scrolling performance



On Jul 6, 2006, at 3:41 PM, Roo wrote:
So basically: there are more variables than just GTK.

Ok, so presumably there's a way to take gtk2-2.8.19-2.src.rpm (the
currently installed GTK2 on my FC5 system) and recompile it (or is
there an env var?) telling it not to use Cairo so I can see if there's
a difference and hence narrow things down.

Looking at configure.in in the GTK2.8 sources, it appears that there is
no way to disable cairo.

Right... so the GTK developers left normal users without the ability to
compare it directly. That makes a lot of sense if they wanted to find out
the real facts and figures behind Cairo...

Or maybe they just don't want to maintain two different sets of drawing code for every widget.

I'd try cutting any non-default themes out first.  And it looks like
Cairo can't be removed, for better or worse.

I don't think that's acceptable at all. Cairo pretty obviously has major performance problems (even if you accept that it is only on some cards), and the GTK developers forced everyone to use it without even a fallback.

But allowing Cairo to be removed would probably require the GTK devs to maintain two versions of the drawing code for every widget. Which is a significant hinderance to forward progress, makes maintenance a nightmare, and in general is not a good thing.

Whatever the full reasoning, I'm convinced the GTK developers are not out to deliberately condemn all users to poor performance.

Profile.  What happens if you build Cairo, GTK and GTKperf or gtk-demo
or something with profiling enabled, and look at the profiling data?
Where are GTK and Cairo spending their time?

But with what am I comparing it? I *know* it wasn't this bad with FC4
(pre-Cairo), but the GTK developers have removed the option of testing
that without wiping the box. I'm sure you can see the utter frustration
involved here. No wonder performance problems never get fixed. The GTK
developers seem to go to great lengths to ensure that reports are very
ignorable.

You're comparing it with itself. If the profiler reports that GTK is consistently spending 75% of its time in Cairo, then yeah, Cairo (or at least the manner in which GTK uses Cairo) is a problem. But if it spends 5% of its time in Cairo, and 60% of its time grooming a cat, then the problem is most likely elsewhere.

- Michael




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]