### Godot version

8449592d92eaeef990f5502b419d491ee3eeb7a6

### System information

Windows 11

### Issue description

Zooming in the script editor on an empty script freezes the entire editor for a few seconds, but if the file is large then it freezes for 4-5 seconds (which is unacceptable). Looks like a recent regression.

### Steps to reproduce

Just zoom in/out on the large script file.

### Minimal reproduction project

N/A
} else if (tokens.size() == 1 && tokens[0] == "textures") {
		
		set_fixed_size(16);
		Array textures = p_value;
		for (int i = 0; i < textures.size(); i++) {
			Ref<ImageTexture> tex = textures[i];
			ERR_CONTINUE(!tex.is_valid());
			set_texture_image(0, Vector2i(16, 0), i, tex->get_image());
		}
	} else if (tokens.size() == 1 && tokens[0] == "chars") {
		
		set_fixed_size(16);
		PackedInt32Array arr = p_value;
		int len = arr.size();
		ERR_FAIL_COND_V(len % 9, false);
		if (!len) {
			return false;
		}
		int chars = len / 9;
		for (int i = 0; i < chars; i++) {
			const int32_t *char_data = &arr[i * 9];
			char32_t c = char_data[0];
			set_glyph_texture_idx(0, Vector2i(16, 0), c, char_data[1]);
			set_glyph_uv_rect(0, Vector2i(16, 0), c, Rect2(char_data[2], char_data[3], char_data[4], char_data[5]));
			set_glyph_offset(0, Vector2i(16, 0), c, Size2(char_data[6], char_data[7]));
			set_glyph_advance(0, 16, c, Vector2(char_data[8], 0));
		}
	} else if (tokens.size() == 1 && tokens[0] == "kernings") {
		
		set_fixed_size(16);