Hello,<br>I am working with a pygtk program that draws various forms for data input. Any time that I use tabs, I end up with 100% CPU usage. As soon as I remove the tabs, the CPU returns to idle. I did some research on the 'net and I found a number of people complaining about slow rendering when tabs are involved, however I think this might not be related. There seems to be no noticeable effect on the speed of the application, it does not seem slow when changing tabs, and all except for gtk.events_pending() never returning false when any tabs are on the screen, it works as expected. I ran strace on the app, and there is a huge amount of repeating chatter (below) between X and the app over the socket when ever tabs are used. From the python end, things are idle, so the chatter is likely generated somewhere within the gtk main loop. gtk.pygtk_version(2, 24, 0) gtk.gtk_version(2, 24, 6) <br>
X -version<br>X.Org X Server 1.10.4<br>Release Date: 2011-08-19<br>X Protocol Version 11, Revision 0<br>Build Operating System: Linux 2.6.24-29-server x86_64 Ubuntu<br>NVIDIA-Linux-x86_64-295.20<br><br>I was able to re-produce the problem with an older computer running the same versions of the above except that it is a 32 bit Intel and the Nvidia driver is 96.43.20.<br>
<br>Here is a cut and paste of what strace shows, the messages repeat about 90 times per second when tabs are active.<br>...<br>[pid 17723] writev(6, [{"5 \4\0000\"`\5.\"`\5\7\0\1\0H\2\r\0000\"`\5\10\0`\5\7\0\1\0"..., 244}, {NULL, 0}, {"", 0}], 3) = 244<br>
[pid 17723] poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}])<br>[pid 17723] read(6, "\1 \226\226\304\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 816<br>[pid 17723] read(6, 0x1e3a6c4, 4096) = -1 EAGAIN (Resource temporarily unavailable)<br>
[pid 17723] read(6, 0x1e3a6c4, 4096) = -1 EAGAIN (Resource temporarily unavailable)<br>[pid 17723] poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])<br>[pid 17723] writev(6, [{"5 \4\0004\"`\0052\"`\5\2\0\1\0H\2\10\0004\"`\5\10\0`\5\2\0\1\0"..., 224}, {NULL, 0}, {"", 0}], 3) = 224<br>
[pid 17723] poll([{fd=6, events=POLLIN}], 1, -1) = 1 ([{fd=6, revents=POLLIN}])<br>[pid 17723] read(6, "\1 \241\226\304\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 816<br>[pid 17723] read(6, 0x1e3a6c4, 4096) = -1 EAGAIN (Resource temporarily unavailable)<br>
[pid 17723] read(6, 0x1e3a6c4, 4096) = -1 EAGAIN (Resource temporarily unavailable)<br>[pid 17723] poll([{fd=6, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=6, revents=POLLOUT}])<br>...<br><br>Fd 6 is the socket as described below:<br>
socket(PF_FILE, SOCK_STREAM|SOCK_CLOEXEC, 0) = 6<br>connect(6, {sa_family=AF_FILE, path=@"/tmp/.X11-unix/X0"}, 20) = 0<br><br>Thanks in advance for any suggestions,<br>-Neil-<br><br>