desktop is much smoother after toggling copy to texture in compizconfig

Bug #1496525 reported by Alex
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I just found this while trying to tweak performance in compizconfig -- I'm currently running 14.04.3 with all of the available LTS-vivid packages and nvidia-346. The Unity desktop is much, much smoother after _toggling off_ "copy to texture" in compizconfig during a session. There don't seem to be any performance gains from starting up with it turned off; it has to be toggled mid-session.

Revision history for this message
Alex (axfelix) wrote :

Did some more testing and it turns out that when the desktop is in this state, hotplugging displays causes the session to crash back out to the login screen. So it's not as usable as I hoped in all cases, but this is still really weird.

Revision history for this message
Alex (axfelix) wrote :

In case you aren't sure if it's working: Super+W to move all windows is much, much faster now, and running something compiz-intensive like Google Hangouts no longer slows down the rest of the display when you have CPU+GPU to spare.

This also fixed an issue where Chrome would never report 60fps for streaming video (when I had the FPS meter open from dev tools) -- it used to top out at 40. Basically compiz no longer feels nearly as poorly-optimized as I always thought it was. But I can't seem to "automatically" get this effect to kick in by writing a bash file that automatically enables and disables the copytex plugin in dconf at login; I have to do it via compizconfig. And there's still the hotplugging issue. I don't know if this means that this bottleneck was always enabled on purpose for stability, or what ...

Revision history for this message
Alex (axfelix) wrote :

It also doesn't seem to break vsync (unredirect still does though) or negatively impact any other compositor functionality.

Revision history for this message
Alex (axfelix) wrote :

Hm, Skype just managed to blow up the window decorations when running like this, too. It's definitely not quite stable, but I really wish I could get it to be stable and still this responsive -- makes the machine feel much, much nicer on the whole.

Nothing much illuminating by running compiz --replace & in a terminal and watching some of the output tick by, by the way; lots of warnings that I think could normally be ignored. but I'd be very curious to have a compiz developer look into this.

Revision history for this message
Alex (axfelix) wrote :

Effectively, this makes it feel like compiz tries to load some kind of fallback mode by default, to handle issues like hotplugging displays, and toggling the copy to texture plugin when running on nvidia _crashes_ this fallback mode -- but the desktop performs much, much better without it.

Revision history for this message
Alex (axfelix) wrote :

Turns out that this happens when you toggle _any_ non-essential plugin under current compiz + nvidia, and stdout and stderr ... don't look like much to me.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in compiz (Ubuntu):
status: New → Confirmed
Revision history for this message
Alex (axfelix) wrote :

I suspect this is somehow framebuffer-related, but I can't seem to accomplish anything by toggling any of the framebuffer settings.

Revision history for this message
Alex (axfelix) wrote :

It also may have something to do with the order in which Unity is loaded relative to other compiz plugins? Not sure how to edit that, though, as unity doesn't seem to be in the plugin list in dconf, which I assume means it's somehow injected separately.

Revision history for this message
Alex (axfelix) wrote :

It also might just be _Unity itself_, and increasingly it does seem like Unity was written in a way that requires it to poll the entire desktop(?) on a more frequent basis than the compositor would be doing on its own, specifically in order to handle issues arising from xrandr (monitor hotplugging) and other edge cases.

So far the three ways I've managed to crash the session after this "optimization"/breakage are:
- Hotplugging a display
- Super+D to show all windows again after hiding them
- Skype doing something weird when someone got added to a call (who the heck knows what Skype thinks it's doing with Xorg anyway)

So if these could be handled somehow without whatever it is that Unity is doing normally to bottleneck ... I can't emphasize enough that it really reverses my Unity/compiz stereotypes.

Revision history for this message
Jaime Marques (jimmy93) wrote :

Thanks for the tip, this makes the desktop so much smoother!

Revision history for this message
Alex (axfelix) wrote :

I just went to 16.04 and this is largely fixed. Thanks!

Changed in compiz (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.