Bug 276989 - Dramatic performance regression with i915 graphics driver
Summary: Dramatic performance regression with i915 graphics driver
Status: RESOLVED WAITINGFORINFO
Alias: None
Product: Oxygen
Classification: Plasma
Component: win deco (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-03 09:47 UTC by Andreas Kuhl
Modified: 2011-12-20 16:16 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Kuhl 2011-07-03 09:47:17 UTC
Version:           unspecified (using Devel) 
OS:                Linux

KDE SC 4.6.4 desktop effects run pretty smooth with my Intel Arrandale card using the free i915 graphics driver. I am using Oxygen style and windeco.

Yesterday I upgraded to KDE SC 4.7 SC1 and noticed a dramatic performance regression: Most desktop effects (e.g. panel slide, zoom, magic lamp) run very sluggish and juggly compared to 4.6.4.

I talked to the KWin maintainer (Martin Graesslin) but he was not aware of any regression because the codebase would be mostly the same. I tried this with the new OpenGL2 shaders on and off but it did not do much of a difference.

Then I the window decoration from Oxygen to Plastik and the performance regressions were (nearly) gone! I changed the deco forth and back just to make sure that I was not tricked by subjective impressions but there is no doubt: It is the Oxygen windeco that causes dramatic performance regressions in KDE SC 4.7 RC1 for me.

Reproducible: Always

Steps to Reproduce:
Use free i915 driver with KDE SC 4.7 RC1 and Oxygen windeco. (dunno wether Intel Arrandale chipset is needed in order to get the regressions.

Actual Results:  
Sluggish desktop effects.

Expected Results:  
Smooth desktop effects (like on KDE SC 4.6.4 with the same configuration).

Xorg video driver package version:
xorg-x11-driver-video-7.6.99.git20110618.1453-2.2.x86_64
Comment 1 Hugo Pereira Da Costa 2011-07-03 11:45:00 UTC
I'm using i915 driver also on intel chipset and cannot reproduce.
Also, the code base for oxygen windeco has sees very little to no change from kde 4.6 to 4.7. Did you also update X driver when changing kde version ? and if yes, is there any chance you can try roll back ? 

If no, I'm pretty clueless. 

Hugo
Comment 2 Hugo Pereira Da Costa 2011-07-03 11:46:06 UTC
PS X driver: x11-driver-video-intel-2.11.0-5mdv2010.1
Comment 3 Andreas Kuhl 2011-07-03 14:22:13 UTC
I did not Update my Xorg while switching KDE versions. I run a recent version of Xorg due to openSUSE Tumbleweed but that works smooth in KDE 4.6.

Switched several times now between 4.6 and 4.7 and the result stays the same: 4.7 has performance issues while 4.6 runs smooth. Maybe the are some issues in the openSUSE RPMs?
Comment 4 Hugo Pereira Da Costa 2011-07-04 07:28:00 UTC
Well I think it really points to some issue with oxygen-windeco. I'll go through what commits went into kde4.7 and see what can possibly be wrong.

One thing you might want to try is run kwin using Qt's raster engine
In terminal, type

kwin --replace -graphicssystem raster&

Other than that, if you feel like helping, I can instruct you on how to build oxygen (and oxygen only) from our git repositories, so that you can help me bisect which commit is the guilty one (that is: at which time between 4.6 and 4.7 did the performance regression happen).

Thanks in advance,

Hugo
Comment 5 Andreas Kuhl 2011-07-04 09:03:36 UTC
Yeah, I switched to raster rendering for KWin yesterday and it fixes the regressions for me, indeed.

I would like to help you finding the guilty commit. So how can I recompile oxygen only? Back in KDE SC 4.6, I already compiled oxygen-transparent and oxygen-gtk from git master. Which components of the desktop do I need to reload after re-compiling and -installing oxygen?
Comment 6 Andreas Kuhl 2011-07-04 11:04:21 UTC
The most crucial setting is Oxygen windeco animations. It seems that when a window looses focus (e.g. by a sliding plasma pane, minimizing it etc.), the transition in its window shadow state causes all display effects to stutter. I now disabled the windeco animations and the regressions are completely gone. This should narrow down the number of commits which could cause the regressions.
Comment 7 Hugo Pereira Da Costa 2011-07-04 12:22:09 UTC
the script at: http://hugo.pereira.free.fr/Misc/oxygen-setup.pl
is basically identical as the oxygen-transparent script.
if you run it it will checkout the entire kde-workspace directory from trunk, but will only compile (and install) the oxygen part of it.

Then (and before installing) you want to play with branches.
In the created "oxygen" directory (should be in smthing like kde-workspace/oxygen), command 
  git checkout KDE/4.7 
gives you the 4.7 branch

  git checkout KDE/4.6 

gives you the 4.6 branch

(you need to recompile every time after that).

I would suggest to run first oxygen@KDE4.6 but compiled against kde4.7 and check/report the obtained performances. This would definitely mark oxygen@KDE4.7 as the guilty guy.
Comment 8 Igor Strelnikoff 2011-12-20 16:08:33 UTC
I have similar problems on ATI video card

01:00.1 Display controller [0380]: ATI Technologies Inc Radeon R350 [Radeon 9800 Pro] (Secondary) [1002:4e68]
        Subsystem: ATI Technologies Inc Device [1002:0003]
        Flags: bus master, stepping, 66MHz, medium devsel, latency 32
        Memory at e8000000 (32-bit, prefetchable) [size=128M]
        Memory at f3010000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [50] Power Management version 2
Comment 9 Igor Strelnikoff 2011-12-20 16:16:30 UTC
When drawing the newly opened window, menu, or folding / unfolding of the window appear for a few seconds to artifacts in window, then it is drawn normally