Jim Thompson wrote:


This was why I asserted that your complaints were against X applications
and not X in general, or more specifically the X protocol.  Though  I do
recognize that the X protocol isn't perfect.  My point was, when  people
say 'X sucks', they usually mean 'X applications' suck or the 'X  server
configuration' sucks.


These things do suck, but they can be (some would say 'are being') fixed.


What I'd say sucks more than applications, more than vague issues with low level protocol stuff and how XYZ is missing, is that X11 seems slow. Really slow. On Windows, you don't need a fancy graphics card with hardcore graphics acceleration to drag windows across the screen. On mac, drivers aren't really an issue. On Linux, just dragging a local window around can feel laggy and jerky. You need to super accelerated proprietary graphics driver to make it feel better. Things are better more recently with the newer versions of Xorg and all that. What is worse, though, is when you actually try to use X over the network. It feels very synchronous. I use vnc, RDP, and X11 remotely. Let's say you click a fancy fade-in menu in each protocol. X11 wants to show you all 50 frames of the fade-in menu, and will not let you click on anything or do anything until you've seen them all. On a distant network, this might mean tens or seconds of waiting around doing nothing. In vnc or RDP, they will show you the first frame, the last frame, and don't appologize for not showing you the frames in the middle. This makes them seem so much more responsive. When I sit in front of my mythTV machine (mythTV runs QT), it has all of these really fancy qt buttons, and shading, and everything cute like that. If I sit in front of a vnc copy from my other machine, it looks almost identical. Yet the remote machine running vncviewer over the network actually responds MUCH faster than the local machine with X11. This is baffling. I believe this is because of the synchronous nature of X11, and the fact that VNC just tells the program that its drawn the 18 stages of button press, and whatnot, and gets on with it. That machine has a Geforce2 with NVIDIA drivers, DRI, GLX, etc., so I don't think its an issue that the video hardware can't handle the picture. So maybe its just mythTV, but I feel like you know your protocol has problems when a VNC emulation of it over the network seems to respond 10X faster than the protocol running natively on all local hardware. On the plus side, openGL games, such as America's Army actually run much faster on Linux than their direct3d counterparts on Windows. So its clear that X11 can be fast when it needs to be. Has anyone else noticed the 50 frames of button pushing and menu drawing in X11? I don't know anything about how the protocol works, but it just doesn't feel right. Maybe its the QT toolkit that's bugged, maybe its something that can be fixed with lots of spaghetti patches on top of the old code, or maybe it helps to show somehow that X11 is fatally flawed in terms of speed. Most modern desktop systems set X11 at a nice of negative 10. X11 tends to take up 25%+ of the processor when doing things like moving windows, even when you have "accelerated" drivers. Now maybe Microsoft is hiding something from us, but I've never seen Explorer.exe take up more than 1% of the processor when dragging windows around like mad. And I know that an amazing amount of desktop things you'd never expect are handled within the video card on OSX.
-Eric Hattemer



Reply via email to