High CPU usage with tabs and GTK

Neil Whelchel neilwhelchel at gmail.com
Wed Feb 29 03:31:09 PST 2012

Thank you for pointing out xscope, I didn't know about it.
I ran my app under xscope and the first thing I noticed was that there were
many DAMAGE-Event related messages, about 90 groups of them per second. So
on a hunch, I disabled DAMAGE in X and the problem of the constant chatter
went away completely, the CPU went to 0%-1% with tabs in the app and
gtk.events_pending() returns False as soon as the window is rendered just
like I expect it to. The output of xscope is very verbose, so what
arguments do you recommend I use to narrow down the output to something
useful? I was attempting to find a repeating pattern that I could post
here, but the damage events all seemed to be mixed in with a lot of stuff
that doesn't have a short term repeat. So, here is a semi random excerpt
from the log that looked like it might apply:
Thank you,

 6.35:                                    64 bytes <-- X11 Server
                                         ..............EVENT: DAMAGE-Event
                                                      detail: 02
                                                        data: 8b 09 20 06
8c 09
                                         ..............REPLY: GetGeometry
                                                       depth: 18
                                                        root: WIN 00000043
                                                           x: 4
                                                           y: 25
                                                       width: 00eb
                                                      height: 02bd
                                                border-width: 0000

6.33: Client -->  128 bytes
         ............REQUEST: XFIXES-Request
                minor opcode: 05
                        data: (3)
         ............REQUEST: DAMAGE-Request
                minor opcode: 03
                        data: (3)
         ............REQUEST: XFIXES-Request
                minor opcode: 0a
                        data: (1)
         ............REQUEST: CreatePixmap
                       depth: 18
                   pixmap-id: PXM 06200d76
                    drawable: DWB 06200061
                       width: 00ef
                      height: 02c1
         ............REQUEST: RenderRequest
               RENDERREQUEST: RenderCreatePicture
                     picture: PICTURE 06200d77
                    drawable: DWB 06200d76
                      format: PICTFORMAT 00000029
                  value-mask: 0
         ............REQUEST: RenderRequest
               RENDERREQUEST: RenderFillRectangles
                          op: Over
                        dest: PICTURE 06200d77
                       color: COLOR r:d5d5 g:d1d1 b:cfcf a:ffff
                  rectangles: (1)
         ............REQUEST: GetProperty
                      delete: False
                      window: WIN 06200061
                    property: ATM 0000019d
                        type: <CARDINAL>
                 long-offset: 00000000

On Mon, Feb 27, 2012 at 11:53 AM, Adam Jackson <ajax at redhat.com> wrote:

> On Fri, 2012-02-24 at 23:40 -0800, Neil Whelchel wrote:
> > Here is a cut and paste of what strace shows, the messages repeat
> > about 90 times per second when tabs are active.
> strace output is unpleasantly difficult to read for this purpose.  Try
> using xscope instead:
> http://cgit.freedesktop.org/xorg/app/xscope/
> - ajax
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg/attachments/20120229/966559d5/attachment.html>

More information about the xorg mailing list