Sorry, but the X drawing primitives are mostly ancient and obsolete. All modern apps use toolkits which do almost all their own drawing, making X into a glorified bitmap compositor no better than RDP.
X works fine over Ethernet (and guess what, so does RDP!), but anything higher latency becomes painful quickly. NX patches over some of the deficiencies, but it's buggy and the client software has a UI straight from the 90s. Also, the fact that X requires extra software to do decent network transparency proves the point that it sucks for its intended purpose.
You have missed vladimir's reply [1]: mind the XRender. When Qt's (can't speak for GTK) graphics operation go through XRender, it's not just dumb bitmap flying around; it's drwing operations. They may hit hardware directly, or be transported over network.
> Also, the fact that X requires extra software to do decent network transparency proves the point that it sucks for its intended purpose.
I believe X11 was meant for use on LAN, with terminals talking to one beefy machine. To bolster that point, XDMCP [2] by design operates in broadcast domain, which, in typical scenario, is LAN. You need to go extra lengths to connect over routed network, wich may serve as a reminder you are going beyond intented use.
And we agreed it works a-OK on LAN :-)
It's a damn shame X resources [3] became a lost art. Probably thanks to certain prolific cross-platform toolkits.
At any rate, I find it ridiculous that, having a bit of Plan 9 background, I ended up defending X11. Which is old and outdated from my perspective, but still way less than RDP. Bind me /dev/draw over network anytime.
X works fine over Ethernet (and guess what, so does RDP!), but anything higher latency becomes painful quickly. NX patches over some of the deficiencies, but it's buggy and the client software has a UI straight from the 90s. Also, the fact that X requires extra software to do decent network transparency proves the point that it sucks for its intended purpose.