### 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 hover_index = -1;
		Point2 click_pos;
		TreeItem *hover_item = nullptr;
		int hover_cell = -1;
		bool rtl = false;
	} cache;
	int _get_title_button_height() const;
	Size2 _get_cell_icon_size(const TreeItem::Cell &p_cell) const;
	void _scroll_moved(float p_value);
	HScrollBar *h_scroll = nullptr;
	VScrollBar *v_scroll = nullptr;
	bool h_scroll_enabled = true;
	bool v_scroll_enabled = true;
	Size2 get_internal_min_size() const;
	void update_scrollbars();
	Rect2 search_item_rect(TreeItem *p_from, TreeItem *p_item);
	
	uint64_t last_keypress = 0;
	String incr_search;
	bool cursor_can_exit_tree = true;
	void _do_incr_search(const String &p_add);
	TreeItem *_search_item_text(TreeItem *p_at, const String &p_find, int *r_col, bool p_selectable, bool p_backwards = false);
	TreeItem *_find_item_at_pos(TreeItem *p_item, const Point2 &p_pos, int &r_column, int &h, int &section) const;
	/*	float drag_speed;
	float drag_accum;
	float last_drag_accum;
	float last_drag_time;
	float time_since_motion;*/
	float drag_speed = 0.0;
	float drag_from = 0.0;