summaryrefslogtreecommitdiff
path: root/libs/hwui/RenderNode.cpp
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2014-08-21 11:23:05 -0700
committer John Reck <jreck@google.com> 2014-08-21 11:23:05 -0700
commit9eb9f6f8cbbbd87d45da8071aa54cb066a797723 (patch)
treeaa193a48886ab29dd158028a48475cc63e43383d /libs/hwui/RenderNode.cpp
parent94f6878bbd98753aa60fd80f5a73b5f198579b04 (diff)
Don't run animators in buildLayer
Bug: 17172689 Change-Id: Ib47d589c002543327fa336718440f9f8c95524e0
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
-rw-r--r--libs/hwui/RenderNode.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index 0db6198e7ec2..898b66d5dd35 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -216,7 +216,10 @@ void RenderNode::prepareTreeImpl(TreeInfo& info) {
if (info.mode == TreeInfo::MODE_FULL) {
pushStagingPropertiesChanges(info);
}
- uint32_t animatorDirtyMask = mAnimatorManager.animate(info);
+ uint32_t animatorDirtyMask = 0;
+ if (CC_LIKELY(info.runAnimations)) {
+ animatorDirtyMask = mAnimatorManager.animate(info);
+ }
prepareLayer(info, animatorDirtyMask);
if (info.mode == TreeInfo::MODE_FULL) {
pushStagingDisplayListChanges(info);
@@ -231,7 +234,9 @@ void RenderNode::pushStagingPropertiesChanges(TreeInfo& info) {
// Push the animators first so that setupStartValueIfNecessary() is called
// before properties() is trampled by stagingProperties(), as they are
// required by some animators.
- mAnimatorManager.pushStaging(info);
+ if (CC_LIKELY(info.runAnimations)) {
+ mAnimatorManager.pushStaging(info);
+ }
if (mDirtyPropertyFields) {
mDirtyPropertyFields = 0;
damageSelf(info);