[FusionDev] compiz-fusion by default in ubuntu/gutsy
Michael Vogt
mvo at ubuntu.com
Mon Aug 20 14:00:41 CEST 2007
On Fri, Aug 17, 2007 at 01:47:56PM +0200, Danny Baumann wrote:
[..]
> > > - General performance regressions - a problem on old/slowish
> > > machines, I wonder if we could do something crazy with the benchmark
> > > plugin here to do performance testing on the fly
> >
> > Not really. You shouldn't see much of a regression here as most
> > chipsets can perform at _least_ 50-60 fps with around 10-12 windows
> > open.
>
> Most chipsets? Geforce 3 and older? Radeon < 9xxx? You may say there
> aren't many people using such old chips, but I would disagree with that.
> A lot of people use PCs that are 5 years old or even older.
>
> How about solving that problem with a hardware database?
That would be one possible fix, the other one would be to find a
heuristic and not load compiz when the cpu is say < 1GHz. This may not
be trivial, it seems that hal does not export information about the
clock speed and with cpufreq scalling we may get incorrect clockspeeds
from /proc/cpuinfo. But those are implementation details :)
The other option would be to add a feature to the benchmark plugin so
that it monitors the fps and if those drop to low, notify the user
somehow with a option to turn desktop effects off. I had a brief look
at the benchmark plugin and the thing that worries me is the call to
"damageScreen(s); XSync()" benchDonePaintScreen()". I know too little
about the code to judge, but it looks like it might cause a general
performance hit. I like this and if there is no (or very little)
performance hit, I would like to work on this feature.
> > > - Windowed 3d applications - not damage events, ugly artifacts
> >
> > See above link
>
> If you had read the link Michael provided, you would have seen that
> redirected direct rendering is still in prototyping stage and definitely
> no option for Gutsy.
Indeed, no chance for this to go into gutsy. I wonder if there is a
way to detect when a window uses glx and come up with workarounds in
this case or even present of sort of notification that there might be
issues. Does anyone know if that is detectable?
[..]
> > Unfortunately, until the new rendering stack is out, this will still
> > be a problem.
> >
> > What I suggest is to leave them on but to:
> >
> > a) Allow users to turn them off fairly easily
> > b) When a 3D app is started, pop up a dialog box warning the user that
> > there are currently problems with desktop effects and 3D applications,
> > and ask them if they want to turn them off until the application is
> > closed. Do the same with Java applications as well.
>
> Umm, that sounds annoying as hell, like the Vista UAC.
> How about asking the user if he wants to enable desktop effects on first
> boot? If it doesn't work after that, you can still blame the user ("You
> should have known that it wouldn't work on hardware xxxx!") ;-)
We have a easy way to turn it on/off and thanks to the wonderful
integration support in libcompizconfig all settings should be
preserved.
I like the idea of showing a one-time notification on the first launch
of a 3d application that runs windowed. We need to be careful of
course to vaoid the UAC experience :) But I wonder if we can runtime
detect it or if we have to do crazy things for the detection like "if
libGL.so is in ldd $prog".
> Unfortunately, I don't have a more proper answer to the question "Enable
> by default yes/no", because it's a) hard to estimate how many people use
> old hardware and/or hardware with broken drivers and b) impossible to
> fix that kind of driver issue inside Compiz.
Thanks, I'm sitting on the fence in this currently too. I will try to
gather more data with the help from our hardware database and our
populiarity contest data for often used applications. I would like to
see compiz-by-default of course :) If there is a way to workaround the
windowed 3d issue I think it will be settled and we will ship it :)
Cheers,
Michael
More information about the Dev
mailing list