[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg
Subject: Re: High CPU usage with tabs and GTK
From: Neil Whelchel <neilwhelchel () gmail ! com>
Date: 2012-02-29 11:31:09
Message-ID: CAMfRM+tdHhTwOowX0VLxQRjtX+02KiCfRC2Y186WrRE6-sbEyQ () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Hello,
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,
-Neil-
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@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
>
[Attachment #5 (text/html)]
Hello,<br>Thank you for pointing out xscope, I didn't know about it.<br>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:<br> Thank you,<br>-Neil-<br><br><br><br> 6.35: \
64 bytes <-- X11 Server<br> \
..............EVENT: DAMAGE-Event<br> \
detail: 02<br> data: 8b 09 20 06 8c 09 <br> \
..............REPLY: GetGeometry<br> \
depth: 18<br> root: WIN 00000043<br> \
x: 4<br> y: 25<br> \
width: 00eb<br> height: 02bd<br> \
border-width: 0000<br><br>6.33: Client --> 128 bytes<br> \
............REQUEST: XFIXES-Request<br> minor opcode: 05<br> \
data: (3)<br> ............REQUEST: DAMAGE-Request<br> minor \
opcode: 03<br> data: (3)<br> ............REQUEST: \
XFIXES-Request<br> minor opcode: 0a<br> data: (1)<br> \
............REQUEST: CreatePixmap<br> depth: 18<br> \
pixmap-id: PXM 06200d76<br> drawable: DWB 06200061<br> width: \
00ef<br> height: 02c1<br> ............REQUEST: \
RenderRequest<br> RENDERREQUEST: RenderCreatePicture<br> \
picture: PICTURE 06200d77<br> drawable: DWB 06200d76<br> \
format: PICTFORMAT 00000029<br> value-mask: 0<br> \
............REQUEST: RenderRequest<br> RENDERREQUEST: \
RenderFillRectangles<br> op: Over<br> dest: PICTURE \
06200d77<br> color: COLOR r:d5d5 g:d1d1 b:cfcf a:ffff<br> \
rectangles: (1)<br> ............REQUEST: GetProperty<br> delete: False<br> \
window: WIN 06200061<br> property: ATM 0000019d<br> \
type: <CARDINAL><br> long-offset: 00000000<br> <br><br><div \
class="gmail_quote">On Mon, Feb 27, 2012 at 11:53 AM, Adam Jackson <span \
dir="ltr"><<a href="mailto:ajax@redhat.com">ajax@redhat.com</a>></span> \
wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px \
#ccc solid;padding-left:1ex"> <div class="im">On Fri, 2012-02-24 at 23:40 -0800, Neil \
Whelchel wrote:<br> <br>
> Here is a cut and paste of what strace shows, the messages repeat<br>
> about 90 times per second when tabs are active.<br>
<br>
</div>strace output is unpleasantly difficult to read for this purpose. Try<br>
using xscope instead:<br>
<br>
<a href="http://cgit.freedesktop.org/xorg/app/xscope/" \
target="_blank">http://cgit.freedesktop.org/xorg/app/xscope/</a><br> <br>
- ajax<br>
</blockquote></div><br>
_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: freedesktop-xorg@progressive-comp.com
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic