diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2018-06-16 14:26:39 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2018-08-10 21:10:38 +0200 |
commit | 3c6f1f46f55c6e3d099d7792ef6651994d36e26a (patch) | |
tree | 22c4fd14d5e15ef66fe846be85269bc910ec0a11 | |
parent | 4953870215c01b01d7c8a53623e82d8d9202c50c (diff) | |
download | mutter-wip/carlosg/unassorted-perf-fixes.tar.gz |
Revert "Revert "ClutterActor: Optimize away idempotent scale/position updates""wip/carlosg/unassorted-perf-fixes
This reverts commit 4d2647cdbc6cc2b5a41eb8fcd5183a77819283dd.
A proper fix is now in GTK+, let's reintroduce this optimization.
Related: gtk#844, gtk!294
-rw-r--r-- | clutter/clutter/clutter-actor.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c index 34baefd7f..d99d529e0 100644 --- a/clutter/clutter/clutter-actor.c +++ b/clutter/clutter/clutter-actor.c @@ -4840,7 +4840,8 @@ clutter_actor_set_scale_factor (ClutterActor *self, g_assert (pspec != NULL); g_assert (scale_p != NULL); - _clutter_actor_create_transition (self, pspec, *scale_p, factor); + if (*scale_p != factor) + _clutter_actor_create_transition (self, pspec, *scale_p, factor); } static inline void @@ -10279,9 +10280,10 @@ clutter_actor_set_position (ClutterActor *self, cur_position.x = clutter_actor_get_x (self); cur_position.y = clutter_actor_get_y (self); - _clutter_actor_create_transition (self, obj_props[PROP_POSITION], - &cur_position, - &new_position); + if (!clutter_point_equals (&cur_position, &new_position)) + _clutter_actor_create_transition (self, obj_props[PROP_POSITION], + &cur_position, + &new_position); } /** |