| ▲ | immibis 4 days ago | ||||||||||||||||
Wayland has a philosophy of "every frame is perfect", which means fixing every race condition. However, X11 doesn't have this philosophy. If the window manager is slow and doesn't respond to a notification that a window has been resized, drawing the new window content over the old borders is the correct thing to do. What sense does it make to freeze the whole display just for a window border? Similarly, tearing gets pixels to the screen faster. | |||||||||||||||||
| ▲ | silon42 4 days ago | parent | next [-] | ||||||||||||||||
Reacting somehow to user input, even if not perfect, is more important for me... That's why we have HW cursors, and frame interpolation in games, etc... | |||||||||||||||||
| |||||||||||||||||
| ▲ | speed_spread 4 days ago | parent | prev | next [-] | ||||||||||||||||
Perfect frames is what Mac and Windows provide and what Linux should also aim for. Border tearing is a display bug, correctness should come first, Wayland's approach is right. X was designed for CPU and IO constraints that no longer apply. _Graceful_ degradation of slow UI should lower the frame rate, not compromise rendering of individual frames. | |||||||||||||||||
| |||||||||||||||||
| ▲ | Maskawanian 4 days ago | parent | prev | next [-] | ||||||||||||||||
Tearing and hidpi is why I left Linux for Windows between 2012 ans 2022. Once wayland was good enough I returned. Tearing is awful, and should be opt in (which wayland provides), not opt out. | |||||||||||||||||
| |||||||||||||||||
| ▲ | mananaysiempre 4 days ago | parent | prev [-] | ||||||||||||||||
The races I recall being described were substantially worse, but that’s largely beside my point. My point is that, now that bare fillrate and framebuffer memory haven’t been a limiting factor for 15 to 20 years, it is a reasonable choice to build a desktop graphics system with the invariant of every frame being perfect—not even because of the user experience, but because that allows the developer to unequivocally classify every imperfect frame as a bug. Invariants are nice like that. And once that decision has been made, you cannot have asynchronous out-of-process window management. (I’m not convinced that out-of-process but synchronous is useful.) A reasonable choice is not necessarily the right choice, but neither is it moronic, and I’ve yet to see a discussion of that choice that doesn’t start with calling (formerly-X11) Wayland designers morons for not doing the thing that X11 did (if in not so many words). To be clear, I’m still low-key pissed that a crash in my desktop shell, which was deliberately designed as a dynamic-language extensibility free-for-all in the vein of Emacs or TeX, crashes my entire graphical session, also as a result of deliberate design. The combination of those two reasonable decisions is, in fact, moronic. But it didn’t need to be done that way even on Wayland. | |||||||||||||||||
| |||||||||||||||||