### Godot version

v4.2.dev1.official [0c2144da9]

### System information

Godot v4.2.dev1 - Windows 10.0.19044 - GLES3 (Compatibility) - AMD Radeon(TM) Vega 8 Graphics (Advanced Micro Devices, Inc.; 31.0.14051.5006) - AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx (8 Threads)

### Issue description
**Edit: Bug introduced between 4.1.dev2 and 4.1.dev3. In dev2, the scrollbars can be dragged very smoothly, and even if the scrollbars are at the bottom, there is no performance loss.**

When there are too many warnings in the debugger and render mode is GLES3 (Compatibility).
The lag situation of the editor is positively correlated with the position of the scroll bar. The closer the scroll bar is to the bottom, the more lagging the editor becomes.
Although the English version may be a bit lag, the situation is much better, but the Chinese version will be very poor.
In forward+ mode, both Chinese and English perform similarly, with slight performance impact.

Chinese:

https://github.com/godotengine/godot/assets/45038185/2449fedb-113e-45b6-ba6a-0fbd3652175d

English:

https://github.com/godotengine/godot/assets/45038185/ff3448e5-d08e-4077-93ac-32e180a8cf3b




### Steps to reproduce

1. Run Project.
2. Waiting for warnings of around 1000.
3. When the scroll bar in the error panel of the debugger is at the top, test the editor.
4. Test the editor when the scroll bar is at the bottom.
5. Try Chinese language mode.
6. Try foward+ and GLES3 (Compatibility).

When switching languages, you may need to use arrow keys because of other bugs.

### Minimal reproduction project

[WarningLag.zip](https://github.com/godotengine/godot/files/12174463/WarningLag.zip)

int get_drop_section_at_position(const Point2 &p_pos) const;
	int get_button_id_at_position(const Point2 &p_pos) const;
	void clear();
	TreeItem *create_item(TreeItem *p_parent = nullptr, int p_index = -1);
	TreeItem *get_root() const;
	TreeItem *get_last_item() const;
	void set_column_custom_minimum_width(int p_column, int p_min_width);
	void set_column_expand(int p_column, bool p_expand);
	void set_column_expand_ratio(int p_column, int p_ratio);
	void set_column_clip_content(int p_column, bool p_fit);
	int get_column_minimum_width(int p_column) const;
	int get_column_width(int p_column) const;
	int get_column_expand_ratio(int p_column) const;
	bool is_column_expanding(int p_column) const;
	bool is_column_clipping_content(int p_column) const;
	void set_hide_root(bool p_enabled);
	bool is_root_hidden() const;
	TreeItem *get_next_selected(TreeItem *p_item);
	TreeItem *get_selected() const;
	void set_selected(TreeItem *p_item, int p_column = 0);
	int get_selected_column() const;
	int get_pressed_button() const;
	void set_select_mode(SelectMode p_mode);
	SelectMode get_select_mode() const;
	void deselect_all();
	bool is_anything_selected();
	void set_columns(int p_columns);
	int get_columns() const;
	void set_column_title(int p_column, const String &p_title);
	String get_column_title(int p_column) const;