Bug 22740 - [UXA] very slowly scrolling in opera
Summary: [UXA] very slowly scrolling in opera
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.4 (2008.09)
Hardware: All Linux (All)
: medium normal
Assignee: Carl Worth
QA Contact: Xorg Project Team
Keywords: NEEDINFO
Depends on:
Reported: 2009-07-12 23:06 UTC by Mateusz Tracz
Modified: 2010-06-30 04:07 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Mateusz Tracz 2009-07-12 23:06:40 UTC
I've tested opera 9.64 ans new 10 opera snapshots. The bug is the same. Scrolling is horribly slow, so slow, I can't work with opera. 
It is on every intel driver, when UXA is active. When i installed legacy driver (running on EXA) scrolling in opera is pretty fast. 
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
Comment 1 Eric Anholt 2009-07-13 12:57:54 UTC
Needs the usual info (Xorg.0.log, dmesg, sysprof if your performance problem is when the CPU is near 100% busy)
Comment 2 Mateusz Tracz 2009-07-14 01:34:56 UTC
http://pastebin.com/m6b1b70ed - dmesg
http://pastebin.com/m406d6b11 - Xorg.0.log
Comment 3 Julien Cristau 2009-07-14 03:08:36 UTC
> --- Comment #2 from Mateusz Tracz <matiqing@gmail.com>  2009-07-14 01:34:56 PST ---
> http://pastebin.com/m6b1b70ed - dmesg
> http://pastebin.com/m406d6b11 - Xorg.0.log

please always attach files directly on bugzilla instead of using
pastebin sites where they can expire…
Comment 4 Mateusz Tracz 2009-07-14 03:15:41 UTC
I'll remember for future
Comment 5 Mateusz Tracz 2009-07-15 11:44:40 UTC
Comment 6 Mateusz Tracz 2009-07-17 05:14:24 UTC
You won't do anything?
Comment 7 Eric Anholt 2009-07-22 10:02:20 UTC
Is the CPU near 100% use during scrolling?  If so, could you run sysprof and attach the results?

(please remove NEEDINFO keyword when updating the bug with requested information)
Comment 8 Mateusz Tracz 2009-07-22 10:11:20 UTC
No CPU is less than 15% when scrolling
Comment 9 Mateusz Tracz 2009-07-31 10:47:45 UTC
I note that with KMS enabled it is little better. Of course still it is horrible.
Comment 10 Mateusz Tracz 2009-08-07 02:20:55 UTC
Anybody has a similar problem?...
Comment 11 Gordon Jin 2009-09-14 20:40:05 UTC
unblocking Q3 release, but still a high priority bug.
Comment 12 Chris Wilson 2009-12-02 09:47:20 UTC
This sounds like Opera may very well be using PutImage when scrolling.

Mateusz, does
commit 19d8c0cf50e98909c533ebfce3a0dd3f72b755c1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Nov 29 21:16:49 2009 +0000

    uxa: PutImage acceleration
    Avoid waiting on dirty buffer object by streaming the upload to a fresh,
    non-GPU hot buffer and blitting to the destination.
    This should help to redress the regression reported in bug 18075:
      [UXA] XPutImage performance regression
    Using the particular synthetic benchmark in question on a g45:
       9542.910448 Ops/s; put composition (!); 15x15
       5623.271889 Ops/s; put composition (!); 75x75
       1685.520362 Ops/s; put composition (!); 250x250
      40173.865300 Ops/s; put composition (!); 15x15
      28670.280612 Ops/s; put composition (!); 75x75
       4794.368601 Ops/s; put composition (!); 250x250
    which while not stellar performance is at least an improvement. As
    anticipated this has little impact on the non-fallback RENDER paths, for
    instance the current cairo-xlib backend is unaffected by this change.
improve performance for scrolling in Opera?
Comment 13 Kristian Høgsberg 2009-12-15 10:25:40 UTC
Mateusz, have you had time to try the patch posted in comment #12?
Comment 14 Chris Wilson 2010-05-31 14:59:31 UTC
I don't have Opera, hence why it is difficult to determine which paths are causing the slow behaviour whilst scrolling. Even though the cpu is only at 15% utilisation, a perf profile would help identify the hot paths, and an xtrace would like us know the macro requests being issued. Together that might be enough to identity the cause and whether we can improve our driver. Thanks.
Comment 15 Chris Wilson 2010-06-30 04:07:02 UTC
I was pointed to an opera package which I duly installed to find the reason for Opera being slow...

They have implemented a client side renderer which uses *PutImage* into a backing store and then CopyArea onto their window. The aforementioned patch will help a lot, but this is always going to be slow (and slower in UXA due to relocation overhead). The driver does now support SHM Pixmaps which can be used by client side software renderers to minimise transport costs.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.