Merge lp:~hikiko/unity/unity.menus-anim-lowgfx into lp:unity

Proposed by Eleni Maria Stea on 2016-07-01
Status: Rejected
Rejected by: Marco Trevisan (Treviño) on 2016-07-13
Proposed branch: lp:~hikiko/unity/unity.menus-anim-lowgfx
Merge into: lp:unity
Prerequisite: lp:~hikiko/unity/unity.scale-expo-lowgfx-and-mmon-fix
Diff against target: 24 lines (+14/-0)
1 file modified
plugins/unityshell/src/unityshell.cpp (+14/-0)
To merge this branch: bzr merge lp:~hikiko/unity/unity.menus-anim-lowgfx
Reviewer Review Type Date Requested Status
Marco Trevisan (Treviño) 2016-07-01 Needs Fixing on 2016-07-01
PS Jenkins bot continuous-integration Pending
Review via email: mp+298859@code.launchpad.net

Commit Message

some settings for low gfx mode

Description of the Change

some settings for low gfx mode

To post a comment you must log in.
Marco Trevisan (Treviño) (3v1n0) wrote :

Mh, as quickly discussed in IRC I think this approach isn't the best for some reasons:
 - Main issue to me is that in this way, the user options get overridden and
   once you disable the lowgfx settings these are not updated, or reset to default.
 - You'd also need to keep these options updated when LogGfx setting change
 - From my tests, this branch doesn't do anything here (quite weird).

So, I suggest instead of changing compiz to have a flag to define wheter is in low-gfx mode or not, and then use this setting to bypass some things in both unity and compiz, bypassing the user settings in that case, not changing them or overriding.

I suggest you to use the "Slow animation" keybinding (set it under Composite plugin options), to check whether the changes apply or not.

Finally, one more thing you should do, that is probably more visible than these is disabling the fade animations for views.

This diff (http://pastebin.ubuntu.com/18221580/) should cover most of the places, but is still missing a change: you need to update the animation duration when the setting changes, or this won't work dynamically.

review: Needs Fixing
Marco Trevisan (Treviño) (3v1n0) wrote :

I was missing HUD in the diff for lowgfx animation disable. See http://pastebin.ubuntu.com/18230233/

Eleni Maria Stea (hikiko) wrote :

Thanks!

Unmerged revisions

4133. By Eleni Maria Stea on 2016-06-30

changed some settings in unityshell plugin to reduce the fade overhead
in low gfx mode

4132. By Eleni Maria Stea on 2016-06-30

Fix for multimonitor:
Compiz renders the content on each output (monitor),
it doesn't draw everything in all outputs at once.

For that, we don't need to ask nux to paint (and make calculations for)
the whole screen content everytime we are going to paint an output.

Replacing the paintDisplay function with paintOutput that uses the output
size for the rendering buffers etc instead of the screen size (where
screen = total drawing area across all monitors) makes rendering faster
because instead of drawing the N monitors' content N times (render the whole
screen content when a glPaintOutput function is called) we render
the N monitors' content 1 time (we render 1 output when glPaintOutput is
called).

4131. By Eleni Maria Stea on 2016-06-10

unity in low gfx mode should use the new scale and expo options
to avoid the intermediate fade steps that require multiple redraws

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/unityshell/src/unityshell.cpp'
2--- plugins/unityshell/src/unityshell.cpp 2016-07-01 05:56:25 +0000
3+++ plugins/unityshell/src/unityshell.cpp 2016-07-01 05:56:25 +0000
4@@ -4301,6 +4301,20 @@
5
6 screen->setOptionForPlugin("expo", "expo_animation", vexpo);
7 screen->setOptionForPlugin("scale", "skip_animation", vscale);
8+
9+ CompOption::Value vanim(0);
10+ screen->setOptionForPlugin("unityshell", "launch_animation", vanim);
11+ screen->setOptionForPlugin("unityshell", "urgent_animation", vanim);
12+
13+ CompOption::Value vmenus(0);
14+ screen->setOptionForPlugin("unityshell", "menus_fadein", vmenus);
15+ screen->setOptionForPlugin("unityshell", "menus_fadeout", vmenus);
16+ screen->setOptionForPlugin("unityshell", "menus_discovery_duration", vmenus);
17+ screen->setOptionForPlugin("unityshell", "menus_discovery_fadein", vmenus);
18+ screen->setOptionForPlugin("unityshell", "menus_discovery_fadeout", vmenus);
19+
20+ CompOption::Value vblight(2);
21+ screen->setOptionForPlugin("unityshell", "backlight_mode", vblight);
22 }
23
24 ScheduleRelayout(0);