| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
BUG=254986
TEST=none
TBR=ben@chromium.org
Review URL: https://codereview.chromium.org/18149004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209153 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch, the renderer scheduled drawing assuming a 60Hz refresh rate
at an arbitrary timebase. With this patch, we send a hardware vsync signal to
the renderer. The timbase is offset slightly so that the browser UI and
renderer do not draw at the same time.
BUG=157223
Review URL: https://chromiumcodereview.appspot.com/12218055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183696 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We temporarily defer commits while resizing so that the renderer has a chance to catch up with the UI window size.
Noteable changes from master:
- RWHVs can fast ACK the GPU process (not flip in the browser or TextureImageTransportSurface); useful for allowing the renderer to catch up when it gets too far behind.
- RWHVA will insist kicking a renderer frame after the lock times out on resize (wasn't necessary before)
- ui::Compositor vends draw locks (which largely just wraps to cc::Proxy) of ui::aura::RootWindow
BUG=136366
TEST=None
Review URL: https://chromiumcodereview.appspot.com/10690168
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164460 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With --ui-enable-threaded-compositing, every Layer::SetExternalTexture() was causing a heavy CCThreadProxy::acquireLayerTextures(). This synchronization is unnecessary on the common case of buffer flips, because RWHVA handles the necessary synchronization via OnCompositingWillStart callbacks.
To reduce the synchronization burden, we handle
- wait for a commit on resize fast ACKS
- handle the common case of buffer flips via WebExternalTextureLayerClient::prepareTexture()
- and explicitly call WebExternalTextureLayer::willModifyTexture() when we need the extra synchronization on tear down.
BUG=136012
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10689108
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146621 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
For context see this thread:
https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II
TBR=thakis,pkasting,jam
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
By responding to AcceleratedSurfaceBuffersSwapped and AcceleratedSurfacePostSubBuffer early, we allow the GPU process to service the renderer while the browser UI is generating it's next frame. This buys us about 2 ms of processing according to chrome://tracing
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10692044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144990 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements a cross-fade while scaling the window between the new and old size.
When a maximize animation is triggered we grab the window's current layer (and those of child windows) and start an animation on those layers to scale them up to full size. Simultaneously, we install a fresh layer for the window, set the bounds to fill the workspace, and tell the window to paint. We scale down that layer to match the window size at the start of the animation, then fade it in while scaling it up to full size.
The restore animation essentially does the above in reverse. However, we always keep the higher resolution layer on top (it looks better), and we always keep the lower layer fully opaque (so the desktop doesn't bleed through).
The animation is aborted if the window is closed mid-animation or the GPU process crashes mid-animation.
The animation does not yet work for app windows, see crbug.com/131293
BUG=116618
TEST=aura_shell_unittests WorkspaceManagerTest and WindowAnimationsTest, trigger slow window animation with shift-click on maximize widget and close window during animation, kill -9 the GPU process during the animation and observe that Chrome recovers
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=139494
Review URL: https://chromiumcodereview.appspot.com/10444014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140698 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements a cross-fade while scaling the window between the new and old size.
When a maximize animation is triggered we grab the window's current layer (and those of child windows) and start an animation on those layers to scale them up to full size. Simultaneously, we install a fresh layer for the window, set the bounds to fill the workspace, and tell the window to paint. We scale down that layer to match the window size at the start of the animation, then fade it in while scaling it up to full size.
The restore animation essentially does the above in reverse. However, we always keep the higher resolution layer on top (it looks better), and we always keep the lower layer fully opaque (so the desktop doesn't bleed through).
The animation is aborted if the window is closed mid-animation or the GPU process crashes mid-animation.
BUG=116618,130688
TEST=aura_shell_unittests WorkspaceManagerTest and WindowAnimationsTest, trigger slow window animation with control-shift-click on maximize widget and close window during animation, kill -9 the GPU process during the animation and observe that Chrome recovers
Review URL: https://chromiumcodereview.appspot.com/10444014
TBR=jamescook@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10454107
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139959 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements a cross-fade while scaling the window between the new and old size.
When a maximize animation is triggered we grab the window's current layer (and those of child windows) and start an animation on those layers to scale them up to full size. Simultaneously, we install a fresh layer for the window, set the bounds to fill the workspace, and tell the window to paint. We scale down that layer to match the window size at the start of the animation, then fade it in while scaling it up to full size.
The restore animation essentially does the above in reverse. However, we always keep the higher resolution layer on top (it looks better), and we always keep the lower layer fully opaque (so the desktop doesn't bleed through).
The animation is aborted if the window is closed mid-animation or the GPU process crashes mid-animation.
BUG=116618
TEST=aura_shell_unittests WorkspaceManagerTest and WindowAnimationsTest, trigger slow window animation with control-shift-click on maximize widget and close window during animation, kill -9 the GPU process during the animation and observe that Chrome recovers
Review URL: https://chromiumcodereview.appspot.com/10444014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139494 0039d316-1c4b-4281-b951-d872f2087c98
|
|
BUG=104040
R=piman@chromium.org,ben@chromium.org
TBR=sky@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10365007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135560 0039d316-1c4b-4281-b951-d872f2087c98
|