Wayland compositors can potentially generate thousands of resize
requests when drag-resizing a window, which Zed is unable to keep up
with. This commit changes the behavior to only resize once per vblank
cycle, which helps significantly when resizing the window with a high
poll-rate mouse (1000Hz is common these days)
Here is an example of the behavior pre and post this commit, with some
print-debugging added for tracking resize calls. I have a wireless mouse
with a 2000Hz polling rate and a 165Hz display:
Before:
https://github.com/user-attachments/assets/4c657f90-5fd2-4809-97ef-363fd48e81b8
After:
https://github.com/user-attachments/assets/4a0f5fbd-c3c4-40a1-9f71-3b4358c827cfCloses#20660
Release Notes:
- Improved: Make resizing smoother on Wayland/Linux