Uploaded a cl to add one UMA for CrossFadeAnimation smoothness, used in maximizing windows. So that we can evaluate how much improvement we can achieve by forcing use of render surface.
https://codereview.chromium.org/2869263002/
I am adding more unit tests for the prototype.
I tried the prototype with cross fade animation. It can cache and invalidate the cache of the render surface correctly.
I am working with the reviewer to identify some corner cases when should we invalidate the cache.
reveman@, the cl [1] looks mostly good. I will add owners review now.
One biggest concern from weiliangc@ is that should we create a new render surface when we set cache_render_surface flag, even for some simple case we should not create a render_surface for it.
WDYT?
I tested in the cross fade animation with new cache code and create render surface for this simple layer animation, it seems the performance does not change too much.
But for the overview mode animation, it is much complicated and we might get performance improvement from it.
[1] https://codereview.chromium.org/2873593002/
Cross-fade has other issues and controlling raster is also going to be important for smooth animations. This is very important first step. The patch lgtm.
Regarding weiliangc@'s concern; we should be careful to only use this in the UI during animations or in cases where we understand what the side-effects are and have concluded that it's the appropriate solution. The about:flags we added to highlight render surface usage can be used to detect when this is used incorrectly.
Your change meets the bar and is auto-approved for M61. Please go ahead and merge the CL to branch 3163 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), ketakid @(ChromeOS), govind@(Desktop)
For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Comment 1 by bugdroid1@chromium.org
, Apr 6 2017