Browse Source

Merge pull request #19871 from guilhermefelipecgs/fix_performance_ui

Fix performance for godot's interface
Rémi Verschelde 7 years ago
parent
commit
82e03b2066
2 changed files with 9 additions and 1 deletions
  1. 8 1
      scene/gui/control.cpp
  2. 1 0
      scene/gui/item_list.cpp

+ 8 - 1
scene/gui/control.cpp

@@ -160,9 +160,16 @@ void Control::_update_minimum_size_cache() {
 	Size2 minsize = get_minimum_size();
 	minsize.x = MAX(minsize.x, data.custom_minimum_size.x);
 	minsize.y = MAX(minsize.y, data.custom_minimum_size.y);
+
+	bool size_changed = false;
+	if (data.minimum_size_cache != minsize)
+		size_changed = true;
+
 	data.minimum_size_cache = minsize;
 	data.minimum_size_valid = true;
-	minimum_size_changed();
+
+	if (size_changed)
+		minimum_size_changed();
 }
 
 Size2 Control::get_combined_minimum_size() const {

+ 1 - 0
scene/gui/item_list.cpp

@@ -942,6 +942,7 @@ void ItemList::_notification(int p_what) {
 				}
 			}
 
+			minimum_size_changed();
 			shape_changed = false;
 		}