Re: Scrolling performance
- From: "Clemens Eisserer" <linuxhippy gmail com>
- To: gtk-list gnome org
- Subject: Re: Scrolling performance
- Date: Sun, 25 Jun 2006 22:54:37 +0200
Hello John,
Thanks a lot for answering.
I created a sample program which contains two buttons in a
(horizontally) paned window.
When I maximize the window and resize the panes I get very slow
resizing, however when setting all involved widgets unbuffered
resizing is fast (but painting is done with artifacts).
Also the profile looks very different:
With doublebuffering enabled:
3298 36.0398 libfb.so (no symbols)
1710 18.6865 nvidia_drv.so _nv000805X
Widthout doublebuffering:
1974 19.1632 libcairo.so.2.2.3 (no symbols)
1535 14.9015 Xorg (no symbols)
1083 10.5135 libfb.so (no symbols)
So there's still some software rendering involved but its _way_ better.
I am currently hitting a deadline in a java project, so I'll busy the
next 1-2 weeks, however I would really like to get my hands on the
buffer manager, do you think theres a chance to get it in (if its well
written and stylish correct).
I like tuning code, although I've to admit my C/Unix knowledge is
rusty, however then its a good training.
lg Clemens
That's interesting. gtk2 uses pixmaps for double buffering ... for
each expose rectangle, it will create an off-screen pixmap, ask all
relevant widgets to paint to that, then at the end of expose, paint
the off-screen pixmap on the display. I think it can potentially
create and destroy quite a lot of pixmaps in a single expose
operation.
You could try making a test program and turning off double buffering
for some widgets:
http://developer.gnome.org/doc/API/2.0/gtk/GtkWidget.html#id4004696
John
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]