From 7e669123f96db5413d3317a4a64a1dfa10bf47b6 Mon Sep 17 00:00:00 2001 From: Thomas Riedmair Date: Sun, 3 May 2020 00:27:47 +0200 Subject: [PATCH] Fix performance issue in update_bitmask_region fallback (cherry picked from commit e0f084b924fe6e80805005632c6b203014df755b) --- scene/2d/tile_map.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index b6db025d442..e3d425406cb 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -936,13 +936,10 @@ void TileMap::update_bitmask_area(const Vector2 &p_pos) { void TileMap::update_bitmask_region(const Vector2 &p_start, const Vector2 &p_end) { if ((p_end.x < p_start.x || p_end.y < p_start.y) || (p_end.x == p_start.x && p_end.y == p_start.y)) { - int i; Array a = get_used_cells(); - for (i = 0; i < a.size(); i++) { - // update_bitmask_area() in order to update cells adjacent to the - // current cell, since ordering in array may not be reliable + for (int i = 0; i < a.size(); i++) { Vector2 vector = (Vector2)a[i]; - update_bitmask_area(Vector2(vector.x, vector.y)); + update_cell_bitmask(vector.x, vector.y); } return; }