~brandontschaefer/unity/lp.1328677-fixv2

  • Committer: Tarmac
  • Author(s): Sam Spilsbury, Andrea Azzarone, Marco Trevisan (Treviño), Chris Townsend
  • Date: 2013-11-07 18:48:57 UTC
  • mfrom: (3347.3.20 unity.prepare-merge)
  • Revision ID: tarmac-20131107184857-xr952ee7mvagxntq
Don't re-present all of our windows on every frame. Only do that if damage intersects it.

Use the new APIs exposed by compiz and nux to intelligently determine which windows need to be presented per-frame and only register damage for those windows. This fixes two things:

1. BaseWindows being redrawn from scratch every time damage was registered over them. That was incorrect and should only be done in the case of background blurs.
2. BaseWindows being drawn to the screen on every frame, regardless of whether or not they needed to be. Now they will only be drawn if some damage intersects beneath them. Note that unity will expand the damage region to accomadate the base window since nux does not support geometry clipping. So if there is a partial intersection of the launcher for example, the area of the screen which contains the launcher will be re-painted (but the launcher itself won't be redrawn, just its texture)

(LP: #1080947). Fixes: https://bugs.launchpad.net/bugs/1080947.

Approved by PS Jenkins bot, Stephen M. Webb, Christopher Townsend, Brandon Schaefer.
Filename Latest Rev Last Changed Committer Comment Size
..
CMakeLists.txt 3001.1.8 11 years ago Jussi Pakkanen Removed link_directories in unity-standalone. 801 bytes Diff Download File
StandaloneUnity.cpp 3566.3.34 10 years ago Marco Trevisan (Treviño) StandaloneUnity: fix compilation 6.5 KB Diff Download File