X has had a feature, called backing store, to get around that since the 80s. Individual windows can request backing store, and there's an option you can set in xorg.conf to enable backing store for all windows.
X11 actually anticipated a future of composited windows, each with their own separate buffer to draw into, well before its rivals -- due in no small part to being intended to run on much more advanced hardware than Windows or Mac OS.
The issue is the added complexity of having to enable backing stores and the multiple code paths. It's not about "how much we can glue inside X11 until it sort of works sometimes".
You can throw out 95% of X11 and most developers would be much happier, bugs would go down, and everything would still work fine.
Comments
X has had a feature, called backing store, to get around that since the 80s. Individual windows can request backing store, and there's an option you can set in xorg.conf to enable backing store for all windows.
X11 actually anticipated a future of composited windows, each with their own separate buffer to draw into, well before its rivals -- due in no small part to being intended to run on much more advanced hardware than Windows or Mac OS.
The issue is the added complexity of having to enable backing stores and the multiple code paths. It's not about "how much we can glue inside X11 until it sort of works sometimes".
You can throw out 95% of X11 and most developers would be much happier, bugs would go down, and everything would still work fine.
Yes, that's why Wayland was invented. 95% of X11 is not necessary anymore, but it was in the 80s.