Plasma and TwinView [Was Re: Release schedule clarifications]

Aaron J. Seigo aseigo at kde.org
Thu Oct 25 20:42:58 BST 2007


On Thursday 25 October 2007, Andreas Pakulat wrote:
> On 25.10.07 21:20:55, Andras Mantia wrote:
> > On Thursday 25 October 2007, Aaron J. Seigo wrote:
> > > i have no xinerama systems to test on here. people will come in to
> > > #plasma and complain about it and will sometimes give some minimal
> > > system information, but we *really* need someone with a xinerama set
> > > up to test on and work on these things.
> >
> > Guys, I have good news. :) Almost all the slowness gone away as soon as
> > I disabled the second screen! Even the K Menu appeared (altough the
> > reason for this might be that I removed the .kde4 directory).
>
> That assumption is correct (about the k menu), I didn't have it either
> and couldn't drag it from the add-applets widget, but removing .kde4
> helped - and I didn't switch to single-screen-mode.
>
> > Now the
> > highest CPU usage I could see was around 10% by Xorg. But the desktop
> > was in general responsive.
> >  Aaron, how can I help to debug and fix the problem with this setup? I
> > don't know what kind of graphics card you have, but with NVidia cards
> > you can enable the second screen (be it a TV or another monitor) in a
> > so-called TwinView mode. The second screen can be a part of your main
> > screen, or it can be at the left/top/bottom/right of it, not
> > necessarily connected to the main screen and not necessarily aligned to
> > it at the edges. I think Xinerama can also do this, but that never
> > worked for me correctly in KDE3, while the NVidia mode works.
> > In my case it was defined to be at right, aligned to the right edge, and
> > the top of both screens are also aligned. So I have big screen
> > (1600x1200) and a smaller one (800x600). In KDE3 with this setup the
> > two screens were completely independent. Kicker was only on the first
> > screen, and also the background image did not flow through the screens,
> > but there was one background image on each one (scaled to the
> > corresponding resolution). This setup was handy, as I could work on the
> > main screen without taking care of the other (the only problem was that
> > I could drag any window there), while when I started to movie, I could
> > move it to the second screen and make it full screen there.
>
> Thats pretty similar to what you get when you setup Xorg with 2 screens
>
> and disable Xinerama, 2 independant desktops. Which I think explains:
> >  With KDE4, I didn't check what was on the second screen as I usually
> > don't have the TV turned on when I work, or if it is, my wife is
> > watching it (like now). :) But on the main screen nothing was unusual,
> > the panel had the right size, the toolbox in the top-right corner
> > appeared correctly,
>
> Why you didn't see a too-large-panel or the wrong Toolbox, this stuff
> apparently only happens with Xinerama setups.

which probably tells us exactly where the issue is... here's how that code 
works:

Corona::loadDefaultSetup creates a DesktopContainment (which is in 
workspace/plasma/containments/desktop/) for each screen. the containments are 
set to the size of the screen and set next to each other on the canvas.

plasma (the actual binary, in workspace/plasma/plasma) then sets up a 
QGraphicsView per screen, full screens and desktop-izes it and sets the 
sceneRect() to be the DesktopContainment for that screen.

oooh. i just realized one source of additional and unnecessary slow down on 
xinerama systems: the DesktopContainments are too close and the AA is causing 
pixel bleed. i fixed this the other day for the panel with a margin. damn. 
let me do the same fix for the DesktopContainments. =))

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Trolltech
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20071025/66150cc8/attachment.sig>


More information about the kde-core-devel mailing list