Re: Scrolling performance
- From: "John Cupitt" <jcupitt gmail com>
- To: "Clemens Eisserer" <linuxhippy gmail com>
- Cc: gtk-list gnome org
- Subject: Re: Scrolling performance
- Date: Sun, 25 Jun 2006 19:02:21 +0100
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]