### Godot version

4.0.stable

### System information

Ubuntu, AMD Ryzen 5 2600, GTX 1650, Vulkan

### Issue description

When putting Tilemaps with lots of tiles on Parallaxlayers, it massively slows down Godot from roughly around 600fps to 20fps. This happens whether or not the parallaxlayers are invisible, have lightoccluder information, or have collision. It seems just the process of having lots of tiles exist slows it down. 

### Steps to reproduce

Open the minimal project and convert the 2 parallaxlayers from parallaxlayers to basic node2ds and watch the FPS massively increase.

### Minimal reproduction project

[ParallaxTilemap.zip](https://github.com/godotengine/godot/files/11566812/ParallaxTilemap.zip)

uint32_t v = decode_uint32(&local[4]);
			
			bool flip_h = v & (1UL << 29);
			bool flip_v = v & (1UL << 30);
			bool transpose = v & (1UL << 31);
			v &= (1UL << 29) - 1;
			
			int16_t coord_x = 0;
			int16_t coord_y = 0;
			if (format == FORMAT_2) {
				coord_x = decode_uint16(&local[8]);
				coord_y = decode_uint16(&local[10]);
			}
			if (tile_set.is_valid()) {
				Array a = tile_set->compatibility_tilemap_map(v, Vector2i(coord_x, coord_y), flip_h, flip_v, transpose);
				if (a.size() == 3) {
					set_cell(p_layer, Vector2i(x, y), a[0], a[1], a[2]);
				} else {
					ERR_PRINT(vformat("No valid tile in Tileset for: tile:%s coords:%s flip_h:%s flip_v:%s transpose:%s", v, Vector2i(coord_x, coord_y), flip_h, flip_v, transpose));
				}
			} else {
				int compatibility_alternative_tile = ((int)flip_h) + ((int)flip_v << 1) + ((int)transpose << 2);
				set_cell(p_layer, Vector2i(x, y), v, Vector2i(coord_x, coord_y), compatibility_alternative_tile);
			}
#endif
		}
	}
	emit_signal(SNAME("changed"));
}
Vector<int> TileMap::_get_tile_data(int p_layer) const {