Bug 439214 - GNOME performance - desktop right-click is slow
GNOME performance - desktop right-click is slow
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: nautilus (Show other bugs)
4.6
All Linux
urgent Severity high
: rc
: ---
Assigned To: Tomáš Bžatek
desktop-bugs@redhat.com
GSSApproved
: ZStream
Depends On:
Blocks: 440020 440021
  Show dependency treegraph
 
Reported: 2008-03-27 11:44 EDT by Alan Matsuoka
Modified: 2015-03-03 17:32 EST (History)
3 users (show)

See Also:
Fixed In Version: RHBA-2008-8205
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-04-30 14:19:11 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
patch that eliminates excess redraws (624 bytes, text/x-patch)
2008-03-27 11:46 EDT, Alan Matsuoka
no flags Details
test rpm (5.53 MB, application/x-rpm)
2008-03-27 11:50 EDT, Alan Matsuoka
no flags Details

  None (edit)
Description Alan Matsuoka 2008-03-27 11:44:36 EDT
Description of problem:

During the deployment of GL4(RHEL4.5) we are receiving a lot of reports related
to slow GNOME performance. It is specifically related to the responsivness of
the menu when you right-click on the dekstop.

How reproducible:

Always.

Steps to Reproduce:

Run RHEL4 with large monitor 30" and high resolution.

Actual results:

1 to 2 second delay while pop-up is drawn on screen.

Expected results:

Instant pop-up.

Additional info:

We have got a script using xautomation (http://www.hoopajo
o.net/projects/xautomation.html), which reproduces this issue and can be used
for testing.

#!/bin/bash
for i in `seq 1 50`;
do
       echo $i
       xte 'mousemove 200 200' 'mouseclick 3'
       #sleep 1
       xte 'mousemove 190 200' 'mouseclick 1'
       xte 'mousemove 500 200' 'mouseclick 3'
       #sleep 1
       xte 'mousemove 490 200' 'mouseclick 1'
done

Also we have tested on RHEL5.1 and there is no issue.
Comment 1 Alan Matsuoka 2008-03-27 11:46:02 EDT
OK. The eggcups problem is a separate unrelated issue. According to the
customer, the problem still persists once eggcups has settled down.

A conference call with the customer revealed that the problem occurs on all RHEL
4 systems with gnome regardless of whether they were using a multihead system,
and regardless of which graphics card/ driver combination they have installed.
The problem only appears to occur when doing a right click on the desktop.

The one common denominator is that the problem shows up when using large
monitors e.g. 30 inches monitors and up. The problem does not seem to be visible
on smaller monitors. That being said, it's the customers conclusion that the
problem would appear to be from excessive redraws of the entire desktop.

Subsequent testing in-house with vnc and Xnest with extremely large desktops
(4000x4000) reveals that the problem can be demonstrated on any hardware. There
is a visible latency problem when the user does a right click on the desktop.
The other problem that has been noticed is that the rendering of the menu
contents appears to be slow. That problem has also been confirmed by the customer.


I've applied a patch from upstream

2005-08-31  Alexander Larsson  <alexl@redhat.com>

       * libnautilus-private/nautilus-icon-container.c:
       (handle_focus_in_event), (handle_focus_out_event):
       Don't redraw the whole desktop on focus in/out.


There is no reason to be redrawing the entire desktop.

doing a right click on the desktop generates the following events

xev -id 0xa00029

EnterNotify event, serial 13, synthetic NO, window 0xa00029,
   root 0x135, subw 0xa00070, time 93943650, (652,632), root:(652,632),
   mode NotifyNormal, detail NotifyNonlinearVirtual, same_screen YES,
   focus NO, state 0

KeymapNotify event, serial 13, synthetic NO, window 0x0,
   keys:  53  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   0   0   0   0   

EnterNotify event, serial 13, synthetic NO, window 0xa00029,
   root 0x135, subw 0x0, time 93944812, (986,651), root:(986,651),
   mode NotifyGrab, detail NotifyInferior, same_screen YES,
   focus NO, state 1024

KeymapNotify event, serial 13, synthetic NO, window 0x0,
   keys:  53  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   0   0   0   0   

FocusIn event, serial 13, synthetic NO, window 0xa00029,
   mode NotifyNormal, detail NotifyNonlinear

KeymapNotify event, serial 13, synthetic NO, window 0x0,
   keys:  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   0   0   0   0   0   

LeaveNotify event, serial 13, synthetic NO, window 0xa00029,
   root 0x135, subw 0x0, time 93944814, (986,651), root:(986,651),
   mode NotifyUngrab, detail NotifyInferior, same_screen YES,
   focus YES, state 1024

FocusOut event, serial 13, synthetic NO, window 0xa00029,
   mode NotifyNormal, detail NotifyInferior

PropertyNotify event, serial 13, synthetic NO, window 0xa00029,
   atom 0xfd (_NET_WM_USER_TIME), time 93944826, state PropertyNewValue

FocusOut event, serial 13, synthetic NO, window 0xa00029,
   mode NotifyGrab, detail NotifyNonlinearVirtual

The released version of nautilus forces a redraw of the entire desktop when it
sees a FocusIn as well as a FocusOut.


I've tested the patch using a 8000x4000 workspace with vnc and the latency
doesn't appear when I do a right click.

I'm attaching some test RPMS to see if that fixes the problem.
Comment 2 Alan Matsuoka 2008-03-27 11:46:40 EDT
Created attachment 299346 [details]
patch that eliminates excess redraws
Comment 3 Alan Matsuoka 2008-03-27 11:50:14 EDT
Created attachment 299348 [details]
test rpm
Comment 5 Jonathan Blandford 2008-03-28 10:16:02 EDT
patch available; dev_ack
Comment 17 errata-xmlrpc 2008-04-30 14:19:11 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2008-8205.html

Note You need to log in before you can comment on or make changes to this bug.