Re: Scrolling performance



On 6/24/06, Clemens Eisserer <linuxhippy gmail com> wrote:
[quote]So I guess I didn't reproduce your problem. In my case, the
reason so much time is spent in software solid fills and copies is
that GTK seems to create and destroy pixmaps at a fantastic rate. In
fact, it creates and destroys a pixmap every time it blinks the
cursor. Pixmaps start out in system memory and are only migrated to
video memory after they've been used for a while. This means that
creating pixmaps, doing two or three rendering operations, and then
destroying them is a sure-fire way to make your rendering fall back to
software. Future drivers will have an InitialPixmapPlacement
nvidia-settings attribute so people can try tweaking this behavior. If
I use that to force pixmaps to start in video RAM, then profiling
shows that most of the time is spent waiting for the GPU.[/quote]

Does even the default theme uses pixmaps for all and everything?

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]