diff options
author | Jack Palevich <jackpal@google.com> | 2009-10-09 17:37:50 -0700 |
---|---|---|
committer | Jack Palevich <jackpal@google.com> | 2009-10-21 09:33:34 -0700 |
commit | d443ba4534b88fe6dfd3bd8f1dd1dc8451ed6734 (patch) | |
tree | a5bd235374e8349a8560078c649e751df3118b46 /core/java/android/server | |
parent | 617262d8f57362536ddc00a070c1c0994741de44 (diff) | |
download | frameworks_base-d443ba4534b88fe6dfd3bd8f1dd1dc8451ed6734.zip frameworks_base-d443ba4534b88fe6dfd3bd8f1dd1dc8451ed6734.tar.gz frameworks_base-d443ba4534b88fe6dfd3bd8f1dd1dc8451ed6734.tar.bz2 |
Prevent transparent region from getting out of sync with Surface Flinger
The ViewRoot is responsible for calculating the current view's surface's
transparent region and reporting this to the window server, which in
turn notifies Surface Flinger.
To minimize cross-process traffic, ViewRoot keeps track of the
most recent transparent region that it has reported to the window
server, and only sends updates when the region shape changes.
ViewRoot is effectively shadowing the internal state of the window
server, and usually this works fine, because ViewRoot is usually the
only thing that changes this value.
But when the surface is recreated, the window server resets the
transparent region to empty. So in order to properly update the window
server we need to reset our copy of its state to empty too.
Fixes issue #2133090: GL Gears runs at half speed in some cases
Diffstat (limited to 'core/java/android/server')
0 files changed, 0 insertions, 0 deletions