RE: GTK+ 2 speed



> -----Original Message-----
> From: Owen Taylor [mailto:otaylor redhat com] 
> Sent: 28 July 2005 20:22
> To: Robert Thorpe
> Cc: gtk-list gnome org
> Subject: Re: GTK+ 2 speed
> 
> On Wed, 2005-07-27 at 18:22 +0100, Robert Thorpe wrote:
> > Users of PCB are attempting to find out why the GTK+ 
> version gPCB is 
> > slower than the Athena version.  I'm also beginning to write a 
> > graphical program and deciding which widget set to use, so I'm 
> > interested in the same issue.
> > 
> > To help us both, it would be useful if anyone knowledgable on this 
> > list could answer a couple of questions: -
> > 
> > * Are there any general reasons why GTK is slower than other widget 
> > libraries?  Is it in fact slower, or is it just common 
> > mis-configurations?
> 
> GTK+ is slower than Xaw because:
> 
>  - It displays things much more nicely
>  - It has good support for internationalization, accessibility, and
>    many other things that weren't on the radar when Xaw was designed.
>  - It has a much nicer programming interface
> 
> It's a "you get what you pay for" situation, really. Toolkits 
> designed in the late 80's go really fast on today's hardware. 
> On the other hand, they don't do a whole lot.

I understand that to some extent this is inevitable, though Windows does
#1 and #2 of your list and still manages to be fast even on old
hardware. (Windows XP of course doesn't but earlier versions do).

If a program doesn't use the features you mention, like Pango and
Unicode etc will the program go faster?

> Our expectation and experience is that GTK+ performs decently 
> for even complex applications on hardware from the last 5 
> years or so. If your app isn't performing OK, it's probably 
> because you are doing something in particular that is slow.

I'm basing my experiences mostly on using Gnome on Xfree86, not on
anything I've written myself.  I haven't actually started writing the
*nix GUI of the program I mentioned, I'm only planning it.

Gnome doesn't work quickly on my two year old 1.6GHz Duron.  Does anyone
know if is Gnome well designed in this regard?

> One possibility is text measurement ... text measurement is "free"
> in the Xaw universe, so a lot of apps designed for that 
> repeatedly relayout and remeasure the same strings, or 
> measure a huge amount of text in a blocking operation. 
> Profiling may show where your app is having difficulties.

That's a very useful thing to know.

> > * Also, is it true that GTK must handle many events by 
> performing long 
> > string comparison operations?  Does this cause a slowdown?
> 
> String comparison is not a big expense in GTK+ operation.

That's also useful to know.

But, what I was asking was: Does event handling involve long string
comparisons?  Someone told me that is does and this causes problems in
the specific case where you're creating a lot of events.

Thanks for your time.



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