EGUI's rendering has very nifty trick with the scheduled frames. Your widget can request render for example 500ms from now. Like the text cursor in a text field.
It doesn't make a queue of requests, but keep only the next time it needs to render in memory. Suppose I render something 2ms from now, then the text widget will request render in 498ms from now. On every tick each widget schedules the next one, but latest only counts.
#ImGui doesn't have this, and I wish it did!