### 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)

CanvasItem::set_material(p_material);
	
	for (unsigned int layer = 0; layer < layers.size(); layer++) {
		for (KeyValue<Vector2i, TileMapQuadrant> &E : layers[layer].quadrant_map) {
			TileMapQuadrant &q = E.value;
			for (const RID &ci : q.canvas_items) {
				RS::get_singleton()->canvas_item_set_use_parent_material(ci, get_use_parent_material() || get_material().is_valid());
			}
		}
		_rendering_update_layer(layer);
	}
}
void TileMap::set_use_parent_material(bool p_use_parent_material) {
	
	CanvasItem::set_use_parent_material(p_use_parent_material);
	
	for (unsigned int layer = 0; layer < layers.size(); layer++) {
		for (KeyValue<Vector2i, TileMapQuadrant> &E : layers[layer].quadrant_map) {
			TileMapQuadrant &q = E.value;
			for (const RID &ci : q.canvas_items) {
				RS::get_singleton()->canvas_item_set_use_parent_material(ci, get_use_parent_material() || get_material().is_valid());
			}
		}
		_rendering_update_layer(layer);
	}
}
void TileMap::set_texture_filter(TextureFilter p_texture_filter) {