Slashdot Mirror


X11 Chrome Reportedly Outperforms Windows and Mac Versions

An anonymous reader writes "In a curious contrast to conventional wisdom, there are reports of X11 Chromium being faster than Windows or Mac versions. In the thread titled 'Why is Linux Chrome so fast?,' a developer speculates that it is due to the use of X11 capabilities: 'On X-windows [sic], the renderer backingstores are managed by the X server, and the transport DIBs are also managed by the X server. So, we avoid a lot of memcpy costs incurred on Windows due to keeping the backingstores in main memory there.' Has the design of X11 withstood the test of time better than people tend to give it credit for?"

542 comments

  1. Test of time by Anonymous Coward · · Score: 4, Funny

    "Has the design of X11 withstood the test of time better than people tend to give it credit for?"

    Yes of course it has. X11 is great and anyone who thinks otherwise doesn't understand it properly, or have an accurate idea of what it's genuine problems are actually due to.

    1. Re:Test of time by Anonymous Coward · · Score: 0, Troll

      It sure does stand the test of time - instead, those who program for X11 are the ones that take the toll, in the form of impotence, receding hairline etc.

    2. Re:Test of time by eugene2k · · Score: 5, Funny

      Why is this modded funny?

      --
      Apple has "Mac vs PC", Microsoft has "Laptop Hunters", Linux has recession
    3. Re:Test of time by Anonymous Coward · · Score: 0

      You mean like its font handling that had to be completely overhauled to become even slightly tolerable? Yes, it had that nice font-server stuff and we were never stuck with the awful names, but deeply embedded was an assumption that glyphs were mere bitmaps of depth 1.

      How about the xlib API? Completely redone with xcb.

      How about the fact that it had no facility at all to talk to drivers. Not to initialize them, not to query them, not to use them. You wanted a driver for X, you linked it into X. X was its own driver famework. To some degrees, it still is.

      X is a ship of Theseus. It doesn't mean the original planks didn't rot long ago.

    4. Re:Test of time by Yvan256 · · Score: 4, Funny

      Forget about the gp, why is THIS modded funny?

    5. Re:Test of time by Anonymous Coward · · Score: 0

      Why is this post moded as troll? The author obviously meant X11 seems sooo perfect it can be likened to The Picture of Dorian Gray.

    6. Re:Test of time by supersloshy · · Score: 4, Funny

      And God forbid that I continue the joke and say, "Why is /THIS/ modded funny!?"

      --
      "Our country is not nearly so overrun with the bigoted as it is overrun with the broadminded." -Archbishop Fulton Sheen
    7. Re:Test of time by Tetsujin · · Score: 3, Funny

      Forget about the gp, why is THIS modded funny?

      Because if you say "why is this modded funny" and "this" isn't modded funny, then people get confused...

      --
      Bow-ties are cool.
    8. Re:Test of time by rhyder128k · · Score: 1

      He means that the pioneers who started X development did so on massive 22" mono monitors that gave out a lot of rads.

      --
      Michael Reed, freelance tech writer.
    9. Re:Test of time by Anonymous Coward · · Score: 3, Funny

      This is not funny.

    10. Re:Test of time by Yvan256 · · Score: 1

      I know!!!

    11. Re:Test of time by awshidahak · · Score: 4, Funny

      Ooh, ooh, I wanna be cool and popular. Why is /THIS/ modded funny!?!?!?!?!?!?!?. Dang, where's the confused smiley button.

    12. Re:Test of time by cloudkiller · · Score: 1

      you guys are hilarious.

      --
      [an error occurred while processing this sig]
    13. Re:Test of time by KZigurs · · Score: 1

      Sir, you managed to say it with a straight face. Hat off to you!

    14. Re:Test of time by Tetsujin · · Score: 1

      you guys are hilarious.

      We certainly think so. XD

      --
      Bow-ties are cool.
    15. Re:Test of time by Thinboy00 · · Score: 3, Funny

      you guys are hilarious.

      Why isn't this modded redundant?

      --
      $ make available
    16. Re:Test of time by dave87656 · · Score: 1

      X11 is great

      I think it is a great design and considering it stems from the 60's if I remember correctly as an MIT project it's pretty amazing.

      However, I remember coding my first Xt project in the 90's and I remember two things: it was extremely fast and extremely difficult (as in Low Level) to program. Of course, noone really programs real-world applications with Xt directly anymore.

    17. Re:Test of time by mahadiga · · Score: 1

      So X11 was designed for future software.

      --
      I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
  2. I read the article. So sue me. by LizardKing · · Score: 1

    Interesting comment from one of the developers:

    We could also just move process creation to a background thread. An unused process might just get swapped out and be no cheaper to "make live" than it would be to create a new process.

    Surely this reusing of a process would negate the supposed security benefits of Chrome/Chromium's multi-process spawning architecture?

    1. Re:I read the article. So sue me. by Anonymous Coward · · Score: 2, Insightful

      We could also just move process creation to a background thread.
      Ok, that's just making the process and subsequent address space.

      An unused process might just get swapped out and be no cheaper to "make live" than it would be to create a new process.
      It sounds like process just being put into a pool - the process creation thread is holding onto the handle - and when someone wants a new process, the thread just hands over that one presumably the heap and stack for that process would be cleared.

      I don't see where there could be a security issues - but, then again, it's been 15 years since I worked on an OS, let alone an Intel based one; I have only 1 cup of coffee in me; I'm still drudging through the posts in the "article".

    2. Re:I read the article. So sue me. by mea37 · · Score: 3, Informative

      I guess maybe I'm making bad assumptions, as I don't really know what Chrome's intent with multiple processes is... but I think the answer to your question is no, it wouldn't necessarily impact security and certainly wouldn't fully negate the multi-process approach's advantages.

      The major advantage to keeping separate tasks in separate processes, it seems to me, is that they have separate memory spaces. I can't sneakily inject code into another task's buffers if I'm not in the same process. In particular, if the browser spawns a process to execute some plug-in or whatever, there's less risk that the plug-in or whatever can trick the browser into executing malicious code. (Or cause it to crash, but that's more "stability" than "security".)

      In other words, the biggest security risk comes from two processes sharing the same process at the same time. I don't think re-use is as big a problem. Sure, if you did a bad job of wiping buffers, then in theory one process could see its predicessor's data; and I guess there are scenarios where that could be an issue, though I'm a little skeptical that a malicious process would go rooting around its uninitialized space "just in case" it was handed a process with something it would recognize as sensitive data from a previous task...

    3. Re:I read the article. So sue me. by kLaNk · · Score: 1

      ...I'm a little skeptical that a malicious process would go rooting around its uninitialized space "just in case" it was handed a process with something it would recognize as sensitive data from a previous task...

      Why are you skeptical? That is exactly what a malicious process would do in that case.

    4. Re:I read the article. So sue me. by mea37 · · Score: 1

      Why am I skeptical? What kind of question is that?

      Describe a practical attack based on that principle, and I'll be less skeptical.

    5. Re:I read the article. So sue me. by Anonymous Coward · · Score: 0

      Google for "uninitialized memory attack" sometime.

    6. Re:I read the article. So sue me. by Anonymous Coward · · Score: 0

      On Windows at least, the security benefits come from the way Chrome sandboxes the processes running web content. They run in processes with very limited permissions and they're bundled together in a job object to set upper limits on resource consumption. Even if there is an exploitable flaw in Chrome or a plugin (and no doubt there is somewhere), and you hijack the process, it doesn't do you any good because the process running the web content can't do anything.

    7. Re:I read the article. So sue me. by Anonymous Coward · · Score: 0

      Nah-- in Chromium each renderer runs in a separate process spawned from the master process. The master process is pretty safe because it never talks to potentially malicious 3rd party sites itself, and the renderer processes are never reused, so they're fine.

      The suggestion that they were talking about was to have the master process keep a spare process initialized and ready to be a renderer, so that instead of creating a new renderer on demand the spare renderer could be immediately used, at which point a new spare renderer could be allocated in the background to service the next request for a new renderer. So it really has no effect on the security architecture at all.

  3. X11 Chromium on Mac? by Danathar · · Score: 3, Interesting

    Does anybody know if it's possible to compile a version of Chromium for X11 Mac?

    1. Re:X11 Chromium on Mac? by Anonymous Coward · · Score: 1, Funny

      Right now the Chromium download page only supplies Linux and Windows versions:

      http://www.reptilelabour.com/software/chromium/download.htm

    2. Re:X11 Chromium on Mac? by An+anonymous+Frank · · Score: 1

      +1 Very Interesting

      Yes please! Pretty please?!

    3. Re:X11 Chromium on Mac? by leamanc · · Score: 1

      Why not grab the source code, install gcc from your OS X Developer Tools disc and try it for yourself?

      Get the source here

      --
      :q!
    4. Re:X11 Chromium on Mac? by remmelt · · Score: 1

      Are you aware of the Chrome (not Chromium) binaries?

      http://dev.chromium.org/getting-involved/dev-channel scroll down to Mac and download the dmg.

    5. Re:X11 Chromium on Mac? by eggnoglatte · · Score: 1

      Probably, although maybe with some effort. But you won't get anywhere near the same performance, since on the Mac, X11 sits on top of other libraries, rather than directly on the hardware. That is how it integrates with the native GUI.

    6. Re:X11 Chromium on Mac? by Yvan256 · · Score: 0

      Why would I want to download damage?

    7. Re:X11 Chromium on Mac? by Anonymous Coward · · Score: 0

      I'm glad I'm not the only one that read it that way. (Yes, I know what a DMG is...)

    8. Re:X11 Chromium on Mac? by Tetsujin · · Score: 1

      Does anybody know if it's possible to compile a version of Chromium for X11 Mac?

      What, seriously?

      Maybe things have changed over the last few years but I couldn't stand the poor integration of the X server into Mac OS X... it's one of the reasons I moved away from the Mac platform and back to Linux... Bad clipboard support, bad window list integration, troublesome keyboard shortcuts... It's like Apple went out of their way to make X11 apps uncomfortable.

      --
      Bow-ties are cool.
    9. Re:X11 Chromium on Mac? by cloudkiller · · Score: 1
      --
      [an error occurred while processing this sig]
    10. Re:X11 Chromium on Mac? by Anonymous Coward · · Score: 0

      From what I've read, that download is a bit outdated. But you can get nightly builds here.

    11. Re:X11 Chromium on Mac? by AtrN · · Score: 1

      Try here.

    12. Re:X11 Chromium on Mac? by Anonymous Coward · · Score: 0

      If you are thinking this would create a faster version of Chrome you are likely mistaken. It would still be using OS X's slower process creation, and also I believe X11 would still be delayed as it is running another layer behind the actual rendering system rather than directly hardware accellerated.

    13. Re:X11 Chromium on Mac? by DaVince21 · · Score: 1

      Why don't you just try?

      --
      I am not devoid of humor.
    14. Re:X11 Chromium on Mac? by badkarmadayaccount · · Score: 1

      They did.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  4. Windows and OS X versions, please. by Anonymous Coward · · Score: 0

    It's OS X, not "Mac", just like it's "the Windows version", not "the PC version".

    I know it's hard, so very hard! And I know it's whiny to comment, but, for f***s sake... get the terminology right so as to avoid confusion, avoid mistakes.

    1. Re:Windows and OS X versions, please. by jedidiah · · Score: 1, Interesting

      No. It's MacOS 10. OS X is just stupid intentionally confusing terminology.

      We already had a GUI called X. It was around for about 20 years before Apple decided to start it's Microsoft-esque nonsense.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    2. Re:Windows and OS X versions, please. by Danathar · · Score: 3, Interesting

      Uh. Maybe you don't understand what I am saying....

      I KNOW that MacOS 10 is OS X.

      I'm asking if anybody has compiled a version of Chromium to use X11 instead of using Cocoa.

    3. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      That's not what he's talking about. OS X is a BSD-based system and as such, can run almost any Unix program, including X11. Apple has been including XQuartz (X + a bunch of libraries + hooks so it works nicely with the rest of OS X) since Leopard.
      http://xquartz.macosforge.org

    4. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      X11 is not an OS, and Mac OS X is not a network protocol or GUI. Why even compare these two? Why does someone even throw this argument when they know how this Apple product's name is written?

      The _pronounciation_ is "Mac OS ten". The written name and labelling has always been Mac OS X. What's next, attacking "SpaceX" or referring it to "Space10" because "The X Window System was here first"? :D

    5. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      SIX!

      No, half-dozen, you retard!

    6. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      GP wasn't responding to you, dood.

    7. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      According to Apple, it's "Mac OS X", version 10.6: http://www.apple.com/macosx/specs.html

    8. Re:Windows and OS X versions, please. by Beezlebub33 · · Score: 1

      As a non-GUI developer, what's the Mac and Windows equivalent to X11? Would it be Quartz on the Mac? I don't know what it would be on Windows, since I avoid developing windows-specific things and have always viewed Windows as a monolithic, integrated mess.

      --
      The more people I meet, the better I like my dog.
    9. Re:Windows and OS X versions, please. by xaxa · · Score: 1

      No. It's MacOS 10. OS X is just stupid intentionally confusing terminology.

      X is the Roman numeral for 10. It's "Mac OS X", which I pronounce as "Mac oh-ess ten".

    10. Re:Windows and OS X versions, please. by The+MAZZTer · · Score: 1

      He wasn't responding to your post...

    11. Re:Windows and OS X versions, please. by Nikker · · Score: 1, Informative

      MS Windows = Explorer.exe Linux = X11 MacOS = Quartz

      --
      A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
    12. Re:Windows and OS X versions, please. by MikeBabcock · · Score: 1

      Windows has the GDI and DirectX, neither of which are remotely comparable to the X window system.

      --
      - Michael T. Babcock (Yes, I blog)
    13. Re:Windows and OS X versions, please. by Megane · · Score: 0

      At least they said Mac and not MAC. To those who spell it in all caps, I say: Hey retards, it's not an acronym!

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    14. Re:Windows and OS X versions, please. by Xtravar · · Score: 5, Informative

      Funny, but the real answer is GDI.

      http://en.wikipedia.org/wiki/Graphics_Device_Interface

      --
      Buckle your ROFL belt, we're in for some LOLs.
    15. Re:Windows and OS X versions, please. by binarylarry · · Score: 1

      ORLY X?

      --
      Mod me down, my New Earth Global Warmingist friends!
    16. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      I can't answer that until you tell me what OS to run on the Mac - "Mac" is a computer, not an OS. I can run Linux on the Mac. I can run Windows on the Mac. And I can, which is definitely the best choice, run Mac OS X on the Mac.

      I guess you mean "what's the OS X and Windows equivalent to X11?", and the answer for OS X is Quartz. No idea about Windows.

    17. Re:Windows and OS X versions, please. by Rockoon · · Score: 1

      Is there a particular reason that you begin with misinformation?

      --
      "His name was James Damore."
    18. Re:Windows and OS X versions, please. by Tacvek · · Score: 1

      The equivelent to X11 on Mac OS X is a program known as "WindowServer". This program could be argued to be part of the Quartz Compositor, it could be argued that the Quartz Compositor is part of this program.

      The second interpretation would argue that the Quartz Compositor creates and generates the images to be displayed, and provides them to WindowsServer for it to place them into video memory. That is not the official interpretation as far as I know. I believe the official interpretation is that WindowServer is a component of Quartz Compositor. That bakes Quartz Compositor both a compositing window manager and a windowing server.

      For Microsoft Windows I've been unable to determine what program is closest in nature to X11.

      All of this is complicated by the fact that there are X11 for both MacOS and Windows that instead of driving the video card(s) directly like X11 does on Linux, it uses the Windowing servers the host OS, and also provides the option of using the Host OS's window manager as an X11 window manager.

      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
    19. Re:Windows and OS X versions, please. by jedidiah · · Score: 1

      IOW, MacOS 10.

      X is just a "fancy" way of writing 10.

      It also has the "added benefit" of possibly being confused with the Unix "GUI".

      --
      A Pirate and a Puritan look the same on a balance sheet.
    20. Re:Windows and OS X versions, please. by cp.tar · · Score: 1

      Funny, but the real answer is GDI.

      As opposed to the Brotherhood of Nod?

      --
      Ignore this signature. By order.
    21. Re:Windows and OS X versions, please. by eggnoglatte · · Score: 1

      I know X is kinda old, but was under the impression that roman numbers were even slightly older. ;-)

    22. Re:Windows and OS X versions, please. by ceoyoyo · · Score: 1

      OS X does have a "GUI" called X, which is the same as the one that's been around for 20+ years. It also has a GUI called Aqua.

      The operating system as a whole is called OS X, probably in no small part because it's easier for some reason to trademark a series of letters "OS X" than it is to trademark a version number "OS 10." Also, X is the Roman numeral for "10."

      You seem to be the only one confused.

    23. Re:Windows and OS X versions, please. by BitZtream · · Score: 3, Informative

      No.

      Explorer is a cross between your shell and your window manager, its like the Gnome or KDE window managers except most of the window manager functions are the responsibility of process itself in Windows, although they are provided by the standard libraries, which us things like the uxtheme.dll and company to provide a consistent interface until the app goes well out of its way to do otherwise. You can use cmd.exe in place of explorer and apps won't notice the difference unless they interact with explorer, such as things that put items in the notification area (systray to most). Apps do not talk to explorer to display windows any more than apps on Linux talk to Gnome or KDE, or Finder on OS X. None of them have to be installed or work in order for Windows to be displayed. You can kill all explorer.exe processes in windows and you just won't have a start menu or clickable desktop until it restarts. You can not kill the X11 client and do the same, all processes using it will be disconnected and exit or crash.

      Quartz is a toolkit/API used within the 'window_server', like DirectX to some extent on Windows. It is not the generic low level API like GDI is on Windows.

      'window_server' would be almost the direct equivalent of X11 on OS X in native applications, if you exclude X11 for OS X, which acts as a translator basically between X11 servers (applications) and your X11 client (the gui you see) and passes that along to the window_server process to display.

      In reality, all three of these systems use a different mix of the way these components interact and at which layer things are done due to their different designs. There isn't a 1 to 1 relationship between any of the components.

      I do not recall which process on Windows handles the GUI, but it is more or less untouchable, unlike in OS X and traditional UNIX where you can easily kill the gui portion, doing so in Windows traditionally would result in a blue screen, this is no longer strictly true in the Windows 6.x versions (Win2k8/Vista/Win7), but I don't recall what process owns that part of the system off the top of my head.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    24. Re:Windows and OS X versions, please. by eugene2k · · Score: 1

      Actually, I think the window system in windows might reside in the kernel itself.

      By the way, the wikipedia page says this about GDI: "GDI is similar to Macintosh's QuickDraw and Linux Xlib."

      --
      Apple has "Mac vs PC", Microsoft has "Laptop Hunters", Linux has recession
    25. Re:Windows and OS X versions, please. by eugene2k · · Score: 1

      Explorer.exe is the equivalent of GNOME's nautilus. It's not a window system.

      --
      Apple has "Mac vs PC", Microsoft has "Laptop Hunters", Linux has recession
    26. Re:Windows and OS X versions, please. by Urza9814 · · Score: 1

      No, if you want them to use OS X then they must also just use 'Windows Vista' or 'Windows 7', along with 'Ubuntu Linux 9.10' or 'Mandriva Linux 2009.1'. If they're just saying 'Windows' and 'Linux' then they should also just be saying 'Mac OS'...and personally I don't think anyone is gonna confuse 'Mac' and 'Mac OS' in this context.

      What you're saying is equivalent to saying that they should be talking about HP, Sony, and tro 1000 for the hardware. (tro being half of 'Vostro')

      The company is Apple, the product is Mac OS, and the version is X.

    27. Re:Windows and OS X versions, please. by H0p313ss · · Score: 1

      By the way, the wikipedia page says this about GDI: "GDI is similar to Macintosh's QuickDraw and Linux Xlib."

      Whereas the Hitchhikers Guide to the Galaxy refers to it as: "The result of a lost weekend of binge drinking by a group of wankers who will be first up against the wall when the revolution comes."

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
    28. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 3, Insightful

      MS Windows = Explorer.exe
      Linux = X11
      MacOS = Quartz

      That this is marked up as informative really shows how bad slashdot has become. You losers are even shitty at being computer nerds.

    29. Re:Windows and OS X versions, please. by ToasterMonkey · · Score: 1

      Mod up.

    30. Re:Windows and OS X versions, please. by devjoe · · Score: 1

      The operating system as a whole is called OS X, probably in no small part because it's easier for some reason to trademark a series of letters "OS X" than it is to trademark a version number "OS 10." Also, X is the Roman numeral for "10."

      And just like Intel did with the Pentium, once they figured out how to trademark a version number, they stuck with that same number for ages and ages. Intel eventually got over it, but I think only due to the fact that they were making different processors aimed at different markets.

    31. Re:Windows and OS X versions, please. by Xtravar · · Score: 1

      Yeah, I know it wasn't completely accurate, as you can run in circles with these APIs, especially on Linux where Windows GDI is most like libcairo, but then libgdiplus depends on libcairo (I believe).

      But the point of it all is that GDI is the lowest level graphics API that is clearly delineated on Windows, and so it kind of fit with the previous post which mentioned Quartz. The fact that X11 does drawing AND windowing/events sort of makes it hard to find a one-word equivalent.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    32. Re:Windows and OS X versions, please. by Yvan256 · · Score: 1

      We need more minerals!

      Oh wait, wrong game.

    33. Re:Windows and OS X versions, please. by Yvan256 · · Score: 1

      You should just ask them why they keep talking about the Media Access Control address.

    34. Re:Windows and OS X versions, please. by Xtravar · · Score: 1

      When you're handling WM_PAINT event in Windows, you use GDI to draw your custom widget.

      When you're handling drawRect: on OS X, you use Core Graphics/Quartz to draw your custom widget.

      So I'd like to know the reasoning for not equating GDI with Quartz - in the typical scenario, they're used for the same thing and have similar calls.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    35. Re:Windows and OS X versions, please. by JCholewa · · Score: 1

      explorer.exe does more than that. It is also the handler for the Windows equivalent of gnome-panel. That's why when (in 2k and XP, at least) your file manager in Windows freezes and you tell it to force quit that window, your entire startbar/desktop vanishes for a few seconds.

    36. Re:Windows and OS X versions, please. by Alef · · Score: 1

      X11 servers (applications) and your X11 client (the gui you see)

      I think you got it backwards -- the applications are the clients. They use the X server to receive input and get their windows displayed.

    37. Re:Windows and OS X versions, please. by Kymermosst · · Score: 1

      You can thank your beloved Apple marketing gurus for that one.

      "Hello, I'm a Mac."
      "And I'm a PC."

      --
      "Alcohol, Tobacco, Firearms, and Explosives" should be a convenience store, not a government agency.
    38. Re:Windows and OS X versions, please. by jabjoe · · Score: 1

      The Windows kernel is like X and Linux in one. Explorer is just a file manager with multiple windows as multiple instances, with a special window that is the taskbar. So of course killing it doesn't kill you apps (well End Process Tree can). It's not like X at all. In Linux, if you kill X, you are killing graphics. The closest thing to killing Explorer on Linux would be to kill Thunar/nautilus and kill xfce4-panel/gnome-panel. None of which will take out all your applications either.

      I'm not sure how far I go with making X save everything and restart on a X panic... But X is in the middle of some interesting developments, and this kind of thing will be easier on the other side of those developments, but X crashes should be reduced as result of X being simplified, so maybe it won't be needed... The only problem is the closed graphics drivers people not joining in....

    39. Re:Windows and OS X versions, please. by jo_ham · · Score: 1

      But didn't someone mention earlier that in X11 terminology, client and server were reversed, or has it been swapped around to make it more logical?

    40. Re:Windows and OS X versions, please. by Elektroschock · · Score: 1

      They praise the DIB perfomance. In other news Wine still needs a DIB engine because graphics with X is so slow.

    41. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      GDI is more analogous to QuickDraw - its not the "low-level API", its a legacy piece now layered on top of WDDM or Direct2D or whatever it's called.

    42. Re:Windows and OS X versions, please. by Alef · · Score: 2, Insightful

      The only terminology I have ever heard of calls the X server "server" and applications using it "clients". Perhaps you are referring to the fact that the X server typically executes on the client computer (the user's computer), because that's where the keyboard and screen is, while the application (client) sometimes executes on a server computer, to which the user might have connected using a remote shell (such as SSH).

    43. Re:Windows and OS X versions, please. by Tetsujin · · Score: 1

      That's not what he's talking about. OS X is a BSD-based system and as such, can run almost any Unix program, including X11. Apple has been including XQuartz (X + a bunch of libraries + hooks so it works nicely with the rest of OS X) since Leopard.
      http://xquartz.macosforge.org/

      Nicely? I never thought it worked that nicely... Though maybe they've improved things since 10.4 "Cheetara"...

      --
      Bow-ties are cool.
    44. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      The Romans already had a numeral called X. It was around for about 2000 years before X11.

    45. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      Perhaps I am - I'm no expert in it at all, just looking for possibilities.

    46. Re:Windows and OS X versions, please. by Xtravar · · Score: 1

      Analogous perhaps from the infrastructure perspective, but not from the application perspective. I wouldn't tell a Windows application developer that he has to learn DirectX to do GUI programming in Windows.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    47. Re:Windows and OS X versions, please. by dotgain · · Score: 1

      They didn't create the 'definition' of PC, they're just using terminology that is already mainstream. Would've been kinda stupid not to, don't you agree?
      "Hi, I'm a Mac."
      "And I'm an AT-compatible Intel-based computing platform running the Microsoft Windows Operating System"
      I think the term 'PC' and its association with MS Windows predates the Mac vs. PC ads, just slightly.

    48. Re:Windows and OS X versions, please. by mrboyd · · Score: 1

      Just saying but Roman numerals have been with us for about 3000 years before X "the display" existed.

    49. Re:Windows and OS X versions, please. by ClosedSource · · Score: 1

      I don't know about the Mac, but I don't think there's anything in Windows that corresponds with a network protocol with GUI functions in "a bag on the side".

    50. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      MS Windows = Explorer.exe Linux = X11 MacOS = Quartz

      That this is marked up as informative really shows how bad slashdot has become. You losers are even shitty at being computer nerds.

      Us losers? Are you implying that somehow you are exempt from being a loser while still posting to slashdot just because you are anonymous?

    51. Re:Windows and OS X versions, please. by Guy+Harris · · Score: 1

      Explorer is a cross between your shell and your window manager, its like the Gnome or KDE window managers

      Actually, it's a file manager, hence like GNOME's Nautilus or KDE's Konqueror (the file manager part) or Dolphin. It might also provide functionality of various bars on the edges of the screen (task bar, etc.) and the desktop; I'm not sure which parts of GNOME and KDE implement those.

      You can not kill the X11 client

      ...by which you mean the process/program that the X11 developers call "the X server" (because, with the model of "clients connect to a server and ask it to do things for them", that's the role it serves, confusing though that terminology might be for those who have a model of "a client is something like your desktop machine, a server is a machine in the machine room" nonwithstanding).

    52. Re:Windows and OS X versions, please. by Guy+Harris · · Score: 2, Informative

      Us losers? Are you implying that somehow you are exempt from being a loser while still posting to slashdot just because you are anonymous?

      An anonymous coward who knows what he or she is talking about is far more valuable than a poster with an account who doesn't.

    53. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      No, but if they are using a higher-level toolkit such as WPF or Swing, they are using DirectX and bypassing GDI.

    54. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      but is there a version for my Mac 10?

    55. Re:Windows and OS X versions, please. by mr+exploiter · · Score: 2, Insightful

      I think it's only the persons that call the terminology reversed are the ones that are backwards. It's very logical to me.

    56. Re:Windows and OS X versions, please. by gmhowell · · Score: 1

      10 would be the fancy way, what with it being harder to make circles in stone with chisels vs. making crosses.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    57. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      > I do not recall which process on Windows handles the GUI

      win32k.sys does. As a driver. If you read some history you'll find that this was supposed to be a user space component, but stuff was so slow, they moved it into the kernel to speed it up.

      Window Management stuff is now in DWM, starting with WinVista, *if* Aero is turned on.

    58. Re:Windows and OS X versions, please. by Lars+T. · · Score: 1

      And just like Intel did with the Pentium, once they figured out how to trademark a version number, they stuck with that same number for ages and ages. Intel eventually got over it, but I think only due to the fact that they were making different processors aimed at different markets.

      And the X Window System has been stuck at version X11 for over 20 years now, so long that hardly anybody calls it "X Window System" anymore instead of just X11. When will they get over that?

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    59. Re:Windows and OS X versions, please. by BitZtream · · Score: 1

      Both of your points are 100% correct.

      I know better on the X11 client/server side, and in my haste made sure to reverse what how I wrote them, which of course is wrong on my part. My dyslexia broke my dyslexia.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    60. Re:Windows and OS X versions, please. by Anonymous Coward · · Score: 0

      I think that comment was aimed at the people that say things like "Macs *ARE* PCs you stupid Microsoft-loving buffoon. They are *PERSONAL COMPUTERS* after all, you moron!"

  5. Predictable by Anonymous Coward · · Score: 0

    I usually don't agree with him but I am with Linus on this one.

    1. Re:Predictable by mzs · · Score: 1

      There are lots of people named Linus, this is likely not who you think it is unless you find yourself disagreeing with a Mr. Upson regularly.

    2. Re:Predictable by Anonymous Coward · · Score: 0

      Linus is quite right on this one.

  6. X11 has never been a problem. by miffo.swe · · Score: 5, Insightful

    X11 has never been a bottleneck in performance on the desktop. Many people have been confusing X11 with the desktop system/kernel/applications and wrongly blamed X11 for any slowness.

    --
    HTTP/1.1 400
    1. Re:X11 has never been a problem. by jellomizer · · Score: 5, Funny

      So you are saying it is not X11 that is slow but Linux... Oh man you are taking it out of the frying pan and into the fire.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:X11 has never been a problem. by miffo.swe · · Score: 1

      No, im saying that X11 is fast and not a bottleneck, not that Linux is slow. The slowest applications on Linux is non native applications like OpenOffice, Firefox, Azureus and the like. Native apps are mostly fast and nimble.

      --
      HTTP/1.1 400
    3. Re:X11 has never been a problem. by nicodoggie · · Score: 1

      ?? Firefox is a non-native application on Linux? How exactly is it non-native? It's compiled by gcc for the platform isn't it? I agree that OpenOffice and Azureus and loads of other Java-based junk are god-awfully slow though... (Firefox is too, but AFAIK it's Linux-native)

    4. Re:X11 has never been a problem. by pz · · Score: 5, Interesting

      X11 has never been a bottleneck in performance on the desktop. Many people have been confusing X11 with the desktop system/kernel/applications and wrongly blamed X11 for any slowness.

      Yes, exactly. X11 ran reasonably complicated applications 20 years ago on hardware that we throw out as woefully inadequate (or quaintly archaic) today, and did so with entirely acceptable speed. X11 isn't the problem -- hardware is what, two orders of magnitude faster now? -- it's all of the poor programming practices that have layer upon layer of abstraction and interpretation stacked tall and high.

      I had a 266 MHz laptop in the mid 1990s (about 15 years ago) that ran Linux (RedHat 6.2, mostly) and X11 perfectly well with a mere 64 MB of main memory. A while ago, I tried to load a Fedora release (9, if I recall correctly) on it. "Laughable" is a good term to describe the result. My current laptop has a 10x faster processor and 50x more memory. There's more cache on the processor in my new laptop than total system memory on the old one --- And yet, Fedora 11 feels sluggish on the new hardware. X11 is not the problem.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    5. Re:X11 has never been a problem. by MemoryDragon · · Score: 1

      Yeah sure because every layer of indirection is faster than direct ram access... sorry
      But I still after 10 years am not convinced about the design. X11 follows the design philosophy of enforcing
      a methotology (remoting on drawing level) which is needed by about 5% of its users and thus burdening a layer
      of complexity on top of the rest of 95% users who then have to deal with shoddy drivers.
      Heck even the remoting does not scale well enough that it is usable without tricks for modern UIs out of the box.
      Unless you use athena widgets or third party hacks you wont even get remotely the performance RDP or even plain VNC has.

    6. Re:X11 has never been a problem. by domatic · · Score: 2, Informative

      I think he means applications where Linux or a BSD is the primary development environment and those APIs were the target. Agreed it is a sloppy use of "native". In the case of Firefox, XP is a the primary dev environment and it also benefits from Profile Guided Optimizations when compiled. The Linux port could in principle but the work hasn't been done (and probably won't be).

    7. Re:X11 has never been a problem. by LWATCDR · · Score: 1

      I never thought that X11 was slow. My problem with X windows has always been that it was too fragile and complex. A lot of features of X seemed to be over kill for use on a standard desktop.
      I never felt X11 as too slow just that it tended to break way to easy.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    8. Re:X11 has never been a problem. by Enderandrew · · Score: 1

      This is the one gripe about X that I can understand and get behind.

      Wayland is not designed to be network transparent, nor do remote rendering. I'd rather have a system like that.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    9. Re:X11 has never been a problem. by MikeBabcock · · Score: 5, Informative

      To be fair I think the gp meant Linux exclusive, not native. But even then Firefox is a pretty bad choice, since its development has always had Linux in mind as well as other platforms.

      If you benchmark some random 3D games between Linux and Windows there is no Linux slow-down. If you benchmark the responsiveness of a well written GUI environment on Linux vs Windows, there's no slow-down. In fact, I've only rarely run into a situation where Linux is slower than Windows in a GUI or otherwise. The primary reason I've come to realize is lazy programmers writing slow client software, and in some cases, horribly inefficient GUI toolkits (Gtk, I'm looking at you).

      X11 isn't the bottleneck, and ever since a few tweaks were done for desktop users, the Linux kernel isn't either.

      --
      - Michael T. Babcock (Yes, I blog)
    10. Re:X11 has never been a problem. by Anonymous Coward · · Score: 1, Insightful

      people should be blaming B-Bus, GNOME and GTK+ for performance issues of Linux desktops, not X11.

    11. Re:X11 has never been a problem. by OrangeTide · · Score: 3, Informative

      memcpy of 1000s of bytes is slower than sending a message. Many of these systems that provide direct access to RAM require lots of copying too. (OSX one example I'm most familiar with)

      X11 also supports direct access to memory, but it is only used in very specific circumstances because it's extra work to set up.

      --
      “Common sense is not so common.” — Voltaire
    12. Re:X11 has never been a problem. by OrangeTide · · Score: 1

      B-Bus? don't you mean D-Bus?

      --
      “Common sense is not so common.” — Voltaire
    13. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      I had an Acer 486 laptop with 3M of RAM (I think a MB died...). I managed to get X running on it using slackware many years ago. There wasn't much available for X at the time, but I think I recall playing around with GRASS GIS. X11 definitely works fine.

    14. Re:X11 has never been a problem. by Anonymous Coward · · Score: 1, Funny

      Naaaaaah, he means B-BUS, you funky honky!

    15. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Regardless of what the GP meant, Firefox uses interpreted code for its UI, it's not really architected for speed. Other cross-platform apps also carry a heavy portability layer.

    16. Re:X11 has never been a problem. by Elbows · · Score: 5, Interesting

      I've never had performance issues running X11 over a LAN. VNC, on the other hand, is noticeably sluggish (RDP seems to work well though). I don't run apps over a WAN very often, except for the occasional emacs session (which is a bit laggy but useable).

      But more importantly, the X style of remote access is much, much more useful than VNC/RDP. Remote apps integrate seamlessly into my desktop, instead of being stuck in a separate window. And multiple people can run remote apps on the same machine, without interfering with each other or a user who's physically sitting at the machine.

      VNC and RDP are useful hacks for systems that weren't designed for remote access, but they're no replacement for real network transparency.

    17. Re:X11 has never been a problem. by thePowerOfGrayskull · · Score: 4, Informative

      The problem is that when monitoring processes, people can "see" X11 using CPU cycles, whereas in Windows they only "see" the application doing. It's six of one, half dozen of the other -- but it makes it look like X11 is CPU-resource intensive. In reality, the same cycles are used for windows based apps (perhaps more? I certainly don't know...), but they look like the app using the CPU which is somehow more expected.

    18. Re:X11 has never been a problem. by DrXym · · Score: 1
      X11 isn't a bottleneck by itself since at its heart its a very basic API. But therein lies the issue. For it to be any use it must run a raft of extensions (for 3D, multiple displays, fonts etc.), and then layers of widgets and libraries on top, and a window manager too. Then on top of that you have the "desktop", GNOME or KDE which might run a pile of periphery processes to handle messaging, virtual file systems, automount, screen saver and other tasks. And everything is at the mercy of gcc for its generated code size / speed, and the kernel for timeslicing and prioritisation.

      It means it is wrong to blame X11 since there is plenty to go around. However, it wouldn't hurt to imagine a world without X11 running *under* the desktop and what possibilities it might open in terms of performance or development cost if it weren't. X11 could run over the desktop as it does on other operating systems.

      Would it be better if X11 died? I don't know. But it would be interesting to find out.

    19. Re:X11 has never been a problem. by itsdapead · · Score: 1

      X11 has never been a bottleneck in performance on the desktop.

      Has rendering speed ever been an issue with X11? If I had to criticize X11, I'd point at "responsiveness" to clicks and drags (making the desktop feel a bit "clunky" c.f. Windows/Mac), rather than any problem with how fast it could render a window - it only takes a small lag or a badly chosen movement threshold to destroy the illusion of dragging tangible things around a destop.

      Also, issues like easily switching resolution and handling multiple screens sensibly - I'd say that distros like Ubuntu are just about caught up with where Mac and Windows were 15 years ago, although partly that's down to waiting for Gnome, KDE etc. to provide friendly interfaces to what could be achieved with a bit of xorg.conf hacking.

      The other thing I find slightly disaapointing is that many modern apps and Gnome/KDE desktops don't work very well in conjunction with X11's USP: network transparancy - I've only really had adequate results using xnest - but then again, that's a fault of window managers and desktop suites, not X11.

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    20. Re:X11 has never been a problem. by jedidiah · · Score: 1

      I've never seen the rendering layer as the problem.

      The real problem always seems to be total system resources and
      the ability of the underlying OS to juggle competing demands on
      these and multitasking.

      Do io waits cripple the system? Can it the system run at 100%
      CPU usage well? Is it easy (or automated) to manage process
      priority? Are background jobs prone to cripple interactive
      programs? Does the given hardware have enough resources to run
      the OS at all?

      --
      A Pirate and a Puritan look the same on a balance sheet.
    21. Re:X11 has never been a problem. by dpilot · · Score: 1

      No thanks. I use network transparency routinely at work and at home. I have no problem whatsoever with a fast-path, direct-rendering, or whatever for the console user, and applaud (and use) such efforts.

      But network transparency is just too useful to get rid of. Think of the clouds!

      --
      The living have better things to do than to continue hating the dead.
    22. Re:X11 has never been a problem. by JesseMcDonald · · Score: 4, Informative

      The thing is, X11 gets network-transparency essentially for free. The system requires some sort of inter-process communication, even when running on a local machine, and Unix-domain sockets are one of the fastest IPC mechanisms available short of shared memory (which is orders of magnitude harder to get right). X11 supports shared memory for local processes, to speed up communication of large objects like pixmaps, but the core protocol is socket-based and there is absolutely no reason to change that. So long as this is the case, why not support network transparency? BSD network sockets are interchangeable with Unix-domain local sockets once the connection has been established, so it's not like there's much more effort involved.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    23. Re:X11 has never been a problem. by Microlith · · Score: 5, Informative

      VNC and RDP give you the ability to interact in an explicitly remote sense, the windows in question operate on the remote server instance and will remain in existence regardless of what happens to the local system.

      That's one reason I stopped using X11 forwarding even though I could: If I lost connection on my laptop for any reason, every application I had open was dead. With VNC (or RDP), they were always running remotely.

      Also, if I have an application open on display :0 I have no way (that I know) of moving it from :0 to :10 and having it appear uninterrupted on my local display.

      I'd say that they're extremely useful hacks that solve issues that are, at least for me, unresolved in X11.

    24. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Gnome has a slow down issue, as mentioned in the group discussion, its disk I/O before launch for icons is ridiculous.

    25. Re:X11 has never been a problem. by H0p313ss · · Score: 1

      That's one reason I stopped using X11 forwarding even though I could: If I lost connection on my laptop for any reason, every application I had open was dead. With VNC (or RDP), they were always running remotely.

      Also, if I have an application open on display :0 I have no way (that I know) of moving it from :0 to :10 and having it appear uninterrupted on my local display.

      Amen brother.

      Random but related question to the "experts": Is there no way to "suspend" an X session and allow it to reconnect later? It would be a truly killer feature.

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
    26. Re:X11 has never been a problem. by jeremyp · · Score: 2, Insightful

      Yes, exactly. X11 ran reasonably complicated applications 20 years ago on hardware that we throw out as woefully inadequate (or quaintly archaic) today

      But that was in an environment where the average PC had a 640x480 display with 16 or maybe 256 colours. High end workstations had higher resolution but were often monochrome. The X server simply didn't have to do anywhere near as much work as a modern one.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    27. Re:X11 has never been a problem. by eugene2k · · Score: 1

      You do understand that the amont of code executed to implement IPC through unix domain sockets equals to an observational error compared to the amount of code even a simple GTK+ "hello world" application executes, right?

      --
      Apple has "Mac vs PC", Microsoft has "Laptop Hunters", Linux has recession
    28. Re:X11 has never been a problem. by miffo.swe · · Score: 1

      Firefox is very much not a native application for Linux. Its primarily developed for Windows and then ported to Linux just as its predecessor (netscape) was. The only "linuxy" about it is that it happens to be using the GCC toolchain and compiles on Linux.

      My main problem when managing terminal servers with Linux on them is applications that isnt developed primarily for it. Putting worldwide settings in /etc would be a good start. Arcane and broken registrys, XML files and sprinkling the filesystem with settings all over /usr/lib/ is not what i call a linux adapted application.

      --
      HTTP/1.1 400
    29. Re:X11 has never been a problem. by gbjbaanb · · Score: 1

      ok, so we've upped the requirements from 640x480x8bpp to 1280x960x32bpp. That's 16x as much data. Networking has increased from old 10mbps coax cables to gigabit networks in the same time. That's 100 times as much. Processors, RAM and graphics accelerators are similarly increased (gfx tremendously so), so I'd expect performance to be roughly on par with those old systems at the minimum.

    30. Re:X11 has never been a problem. by Hurricane78 · · Score: 1

      Have you tried using the same window manager as back then, running the same programs, and especially killing all background programs / daemons that weren't there back then?

      Because else, you're comparing apples to oranges.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    31. Re:X11 has never been a problem. by that+this+is+not+und · · Score: 2, Informative

      Why are you referencing the average PC of 20 years ago, which ran Windows 3.1, not X11, to the average workstation from back then, which the GP referred to as 'woefully inadequate' today? Did you know that there were actual framebuffer cards back then in typical use that cost more than your '386-DX 25 with 16MB of RAM' that all the secretaries were impressed by?

    32. Re:X11 has never been a problem. by TheRaven64 · · Score: 1

      And this is a typical X11 criticism: a comment based on a complete lack of understanding of how a modern display system works.

      Every modern operating system enforces isolation of processes both from each other and from the hardware. With something like Apple's QuickDraw, this isolation was bypassed at the drawing level; applications were allowed to write directly to the frame buffer. No modern systems - including Windows and Apple's Quartz - work this way. Each application opens an IPC connection to a display server which handles drawing commands. With X11, the communication goes via a mixture of UNIX domain sockets and shared memory. With Quartz, it goes via Mach ports and shared memory.

      The only difference between how X11 implements this and how Quartz or the Vista display server implement it is that the protocol used via the serial channel that X11 uses is well documented. This means that, rather than using local IPC, you can use remote IPC such as a TCP (or SCTP these days) socket with exactly the same code that you use for local communication. This means that your remote display code path is almost as well tested as the local one (although you don't get shared memory and you have protocol overhead from TCP/IP so it's slower).

      --
      I am TheRaven on Soylent News
    33. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Oh, I don't think he was saying that... It's that the desktop applications environments and abstraction frameworks over time
      that've been problematic. X11 itself isn't slow or inefficient, it's more that things like GTK+ or Qt, coupled with GNOME or
      KDE, that comprise a good portion of the problem. All one needs to do is look at the stuff from something like Enlightenment
      to see that it's very possible to outperform everything, be small, and have tons of eye candy without the need for things
      like Compiz (though you can have better all the way around with something like that...).

    34. Re:X11 has never been a problem. by that+this+is+not+und · · Score: 1

      I pity you, then, that you've never operated in an X11 environment running in cinerama mode. I had a multi-headed Sparcstation 10 running Solaris like that a number of years back, and it was nice.

      solve issues that are, at least for me, unresolved in X11.

      You surely don't want X11 to devolve into something like VNC, do you? Really?

      Well maybe you do. Clue us in, does Steve Ballmer really have bad breath?

    35. Re:X11 has never been a problem. by TheRaven64 · · Score: 1

      Extensions are not a problem. Extensions are how the protocol evolves. Complaining about X11 extensions is like complaining about the overhead of using libc functions that were not part of K&R C. Complaining about needing widget sets and window managers is complaining about modularity. You need all of these things on any windowing system, but with X11 you have a separation of policy and mechanism so you can easily replace parts independently when they are too dated or when they don't fit with a particular device. Look at a system like Maemo; it runs X11, but with a window manager designed for small screen devices. You can run any X11 application written since 1984 on this system, either compiled to run locally or displayed remotely from any system that it's run on in the last 27 years.

      --
      I am TheRaven on Soylent News
    36. Re:X11 has never been a problem. by JasterBobaMereel · · Score: 1

      That's because VNC and RDP assume you have a fast network connection.... and X11 assumes you have a 96Kbaud dial up line ....

      --
      Puteulanus fenestra mortis
    37. Re:X11 has never been a problem. by JamesP · · Score: 4, Informative

      I've never had performance issues running X11 over a LAN.

      VNC and RDP are useful hacks for systems that weren't designed for remote access, but they're no replacement for real network transparency.

      Oh no you don't!

      Try using X11 over something slightly slower as LAN. Just try it, over ADSL, whatever

      I tried. And X11 is totally and utterly USELESS. A well configured VNC (and you have to really play with the knobs) is usable. RDP is the best (of course, it wasn't developed by Microsoft...)

      --
      how long until /. fixes commenting on Chrome?
    38. Re:X11 has never been a problem. by celle · · Score: 1

      "Heck even the remoting does not scale well enough that it is usable without tricks for modern UIs out of the box."

      Maybe the problem is with the "modern UIs" don't you think?

    39. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Firefox is a non-native application on Linux?

      AFAIK, most of the UI is written in XML (XUL) and JavaScript. It doesn't use native widgets for most things and, instead, renders its own widgets so that it can do themes and such. XULRunner is the native app, not Firefox.

      BTW...Java isn't inherently slow, it's just that the major examples of Java applications have become bloated and slow. I've written and distributed SWT-based GUI applications that are virtually indistinguishable from native. In my experience, the Java penalty is roughly half a second at startup. After that, it's down to the programmer.

    40. Re:X11 has never been a problem. by Alpha830RulZ · · Score: 1

      Hm-m-m. You might want to fiddle with your VNC connection. I run many VNC sessions over LAN/WAN combos. On LAN, it's as fast as console, as near as I can tell. On LAN/WAN, it's a bit sluggish, but quite usable. I often VNC from home, over comcrap, through the VPN, through the company netowrk, over a busy T1 to an office, to the machine I'm working on, and it's usable. Not stellar, but quite usable.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    41. Re:X11 has never been a problem. by gknoy · · Score: 1

      I must agree. It would be awesome if one could have a "screen"-like functionality with X. For all I know, it's already there, and I just don't know how to use it...

    42. Re:X11 has never been a problem. by Bigjeff5 · · Score: 2, Interesting

      The modular nature multiplies the number of potential bugs by an order of magnitude for each layer. I.e. if the Client/Server model of X11 were merged into simply the X11 renderer, GUI applications would be an order of magnitude easier to write. It isn't too bad for X11 because it isn't that big or all that complicated, but the client/server nature of X11 creates the potential for a lot more bugs.

      The biggest example of the bug problem with modular systems is the GNU HURD kernel. It is modular, I believe it has 4-5 parts that must work in unison to function, and in 20 years Stallman and his group have yet to produce a working kernel. Compare that to Torvold's Linux kernel, which was integrated and took a couple years to develop pretty much by himself.

      Part of the problem with X11 is that it is NOT a complete package - it's the "last mile", so to speak, and you need three or four more layers to get a modern desktop. If you make an honest comparison of a complete desktop package based on X11 that matches Windows Vista/7 or Mac OSX and there is no question as far as quality. The X11 based setup is harder to use and generally less useful than the Windows or Mac counterparts. Incidentally, I've used OSX the least but found it the easiest to pick up - good design counts.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    43. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Come on man! This is a bash-X thread. Don't bring your fancy "rational arguments" and "facts" into this emotional flame war!

    44. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Last I checked, Firefox was compiled for Windows with a lot of compiler-level optimizations, and the exact same code was then compiled for Linux without any.

      My theory, Google is putting a lot of work into the Linux version of Chrome because they are working on a Linux-based OS.

    45. Re:X11 has never been a problem. by MemoryDragon · · Score: 1

      Guess what the same applications ran probably better on a C64 using GEOS... the reason why X11 performed 20 years ago was that the applications if they did graphics at all used the athena widget set, so basically all they did was to draw a few circles. The issue with X starts as soon as you do more it severely shows that it does not scale up too well especially on the networking side.
      Most other UIs simply went for higher level drawing primitives and added networking later with better results.

    46. Re:X11 has never been a problem. by MemoryDragon · · Score: 1

      The issue is that the network transparency is utterly useless on modern UIs everything beyound Athena Widgets, or a plain xtern simply clogs your network in no time if you use it from more than one client server connection.
      The protocol simply is too low level to scale. Sure there are solutions which fix this, but this needs to be fixed in the core protocol. And yet this layer of indirection makes it harder for everyone, the driver authors have a harder time, the users have to fight with a more complex configuration and shoddy drivers.

    47. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      I had a 266 MHz laptop in the mid 1990s (about 15 years ago) that ran Linux (RedHat 6.2, mostly) and X11 perfectly well with a mere 64 MB of main memory.

      Maybe it ran so well 15 years ago because RH6.2 didn't exist yet. I know my imagination runs pretty fast too.

    48. Re:X11 has never been a problem. by sarhjinian · · Score: 1

      No, he wants it to evolve into something like Citrix XenApp, where high-latency doesn't completely screw the experience and, if you lose connection, you can reconnect at a later time.

      Rootless remote applications are a nifty X feature, but for most people, they're not helpful, not when the death of your connections takes your running apps with it.

      --
      --srj/mmv
    49. Re:X11 has never been a problem. by Anonymous Coward · · Score: 2, Informative

      Don't use X11 raw over remote links. Use NX. It meets your criteria from start to finish and actually brings to X11 the things you talk to with actual performance, when compared to the others.

    50. Re:X11 has never been a problem. by bill_mcgonigle · · Score: 1

      layer upon layer of abstraction and interpretation stacked tall and high

      yes, especially how well each layer optimizes. There was a good article by a KDE dev a few months ago lamenting that KDE rarely ever runs with the acceleration it's capable of due to what's assumed and what's implemented at each layer.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    51. Re:X11 has never been a problem. by MikeBabcock · · Score: 1

      I've not had a problem with any of those areas in the modern era of Linux use. Have you?

      I run 3D games on my system at high frame rates while it simultaneously downloads with Vuze and serves music and videos to the PS3 for my wife.

      'sar' shows me that there's a lot of task switching going on, and a lot of activity, but it never seems to have any effect on productivity.

      --
      - Michael T. Babcock (Yes, I blog)
    52. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      I agree; there are issues with the core protocol, or at least with how it is used. In particular, interactivity is not ideal when high-latency connections are involved. Some of that is the toolkits—the protocol is designed to be asynchronous, but many recent toolkits don't take full advantage of that design. That works fine when the server is local, but doesn't scale otherwise.

      However, once these issues with the protocol and toolkits were resolved the result would still be based on Unix-domain sockets, and so would still naturally support network transparency. The only way to eliminate the "indirection", as you put it, would be to integrate the clients into the same process and codebase as the server; in every other case you will have an indirect interface of some sort. Integrating the clients into the server is obviously not a general solution; you would lose all the benefits of a modular design: privilege separation, independent development, transparency, etc. However, so long as the client and server are separate processes there is no reason not to support network transparency.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    53. Re:X11 has never been a problem. by asdfghjklqwertyuiop · · Score: 1

      Using X that way is also a MUCH bigger security risk than VNC or RDP. The remote machine to which you're granting access to your X server can read all the keystrokes you type (wether they're to the remote app or not) and take screen shots of the whole display, etc...

    54. Re:X11 has never been a problem. by Anonymous Coward · · Score: 2, Insightful

      What are you talking about? I was using X-forwarding from the University back to my dorm in 2001, simply because the machine I had at home was faster than what the U had to offer. My (adsl) connection was 512kb/64kb at the time (may have been 128k up), and my applications ran flawless.

      Any chance you had enabled MIT-SHM over your wan connection, or any one of the other X extensions that were really intended to only be used when client and server were on the same PC?

    55. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      I.e. if the Client/Server model of X11 were merged into simply the X11 renderer, GUI applications would be an order of magnitude easier to write.

      What are you proposing, exactly? The client is the GUI application. Merging "the Client/Server model" into the X11 renderer would mean integrating the GUI application (rather, all GUI applications) into X11's codebase and runtime address space. This is obviously impractical. However, so long as the GUI applications remain separate processes there must be a client and a server and the only question is how they communicate, to which socket-based IPC is the obvious answer.

      I'm all for removing unneeded middle-layers; a general rule-of-thumb in Unix software design is that anything over three layers is too many. However, shifting the boundary between "client" and "server" by merging the toolkits into X11 (as seems more likely to have been your intent) would not eliminate the need for IPC or the possibility of network transparency. It would also force the overhead of a GUI toolkit on applications which have no need for it; for example, most games just want an empty window to draw into and receive events from, and couldn't care less about the standard system widgets.

      If you make an honest comparison of a complete desktop package based on X11 that matches Windows Vista/7 or Mac OSX and there is no question as far as quality. The X11 based setup is harder to use and generally less useful than the Windows or Mac counterparts. Incidentally, I've used OSX the least but found it the easiest to pick up - good design counts.

      That depends entirely on both your prior experience and what you're trying to do with the interface. I've used all three myself. Good design does count, which is why I honestly find most Unix interfaces to be easier to use and more useful than either Windows or OS X.

      There are multiple reasons, but the main one is simple: Unix applications are designed as modular tools, with clean interfaces, and in particular are designed to the integrated with other tools in ways their designers never imagined. Good up-front design thus ensures that you are not limited by the interface-designer's imagination. Windows and Mac OS applications, on the other hand, are generally designed as complete, stand-alone interfaces, and are not scriptable or extensible. There are some exceptions, but they are exactly that: exceptions. To be fair, Mac OS does have a better track-record in this regard than Windows, but neither approaches the separation between engine and UI which is a staple of Unix software design.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    56. Re:X11 has never been a problem. by Homburg · · Score: 1

      The issue is that the network transparency is utterly useless on modern UIs everything beyound Athena Widgets, or a plain xtern simply clogs your network in no time if you use it from more than one client server connection.
      The protocol simply is too low level to scale

      Bollocks. Largo, Florida runs about 300 users on thin clients over X, with all the latest Linux UI stuff, like GTK and Compiz. Yes, the fancy 3D desktop cube works just fine over networked X11.

      And yet this layer of indirection makes it harder for everyone

      No, this layer of indirection is necessary whether or not you want network transparency. All modern OSs, including Windows and OS X, use an IPC mechanism in their graphics subsystem.

    57. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      i have... when there is heavy io activity it affects all of the system, not just the program that is waiting... the mouse cursor jumps and bad things happen

      dude, file transfers at some hundreds of kB/s are not heavy io btw

    58. Re:X11 has never been a problem. by JamesP · · Score: 1

      Any chance you had enabled MIT-SHM over your wan connection, or any one of the other X extensions that were really intended to only be used when client and server were on the same PC?

      Probably... :) I don't remember looking into the issue too much... Probably ssh -X, then running the app...

      Still, considering what other people commented, I would still use VNC.

      (But 90% can be done over ssh, so...)

      --
      how long until /. fixes commenting on Chrome?
    59. Re:X11 has never been a problem. by richlv · · Score: 1

      you could only say that rdp is the best if you haven't heard of nx.
      building on top of x, it is really, really great.
      and with the added coverage that neatx (google developed nx server) brought, i'm surprised you don't know about it...
      http://www.nomachine.com/.

      --
      Rich
    60. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      "The thing is, X11 gets network-transparency essentially for free."

      It's everything else you pay for.

    61. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      "There are multiple reasons, but the main one is simple: Unix applications are designed as modular tools, with clean interfaces, and in particular are designed to the integrated with other tools in ways their designers never imagined."

      You mean like being integrated via binary instead of ASCII?

    62. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      Gee, what's the infatuation with sockets?

    63. Re:X11 has never been a problem. by P-Nuts · · Score: 2, Informative

      The closest thing to screen for X11 that I know about: xpra. A bit rough around the edges, but usable.

    64. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      So X11 and TCP were developed in the same ecosystem so they play well together. Luckily for X11, other computing ecosystems adopted TCP instead of something else.

    65. Re:X11 has never been a problem. by rrohbeck · · Score: 3, Informative

      If VNC is usable, you'll love NX. It is *far* more responsive for a given bandwidth/latency and it is persistent too (the session keeps running if your client disconnects.).

      You can even run VNC to other machines through NX and it feels faster on limited bandwidth (NX creates a session on the Linux client that runs a fullscreen vncviewer to another system.)

      It's my standard way of working remotely. My default work desktop lives on a Linux machine at the office and it resizes automatically depending on what screen size the client uses (as long as your Gnome or KDE version is recent.) Even at the office I run NX to my work session - over a LAN I can't tell the difference between local and NX.

    66. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Actually, check out TightVNC. I tops RDP.

    67. Re:X11 has never been a problem. by TheRaven64 · · Score: 1

      TCP is completely irrelevant to X11. By default, X uses UNIX domain sockets (basically equivalent to named pipes) and shared memory for communication between the client and the display server. The shared memory is optional and the socket can be replaced by any stream, including pipes or TCP sockets.

      --
      I am TheRaven on Soylent News
    68. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Actually, check out TightVNC. I tops RDP.

      Actually I meant to write "TurboVNC" instead of "TightVNC".

    69. Re:X11 has never been a problem. by PastaLover · · Score: 1

      Has rendering speed ever been an issue with X11? If I had to criticize X11, I'd point at "responsiveness" to clicks and drags (making the desktop feel a bit "clunky" c.f. Windows/Mac), rather than any problem with how fast it could render a window - it only takes a small lag or a badly chosen movement threshold to destroy the illusion of dragging tangible things around a destop.

      There's definitely some problems with some graphics cards with some drivers in some configurations. Usually the proprietary ones when they fail to implement the correct subset of the fancy API du jour. This is traditionally blamed on the graphics card companies (ATI, Nvidia, Intel,...) but there comes a point where you have to wonder why they all seem to be struggling to put out something halfway decent. And don't see "developer resources", that's just a cop-out and you all know it.

      If X isn't crap for you that's nice. But it's failing for a lot of other people and has been for a long time. It's good to see it's improved in certain places (i.e. configuration) but I can't believe people are claiming it's better than anything the competition has. It hardly inches any of them out.

    70. Re:X11 has never been a problem. by tbuskey · · Score: 1

      Yes, exactly. X11 ran reasonably complicated applications 20 years ago on hardware that we throw out as woefully inadequate (or quaintly archaic) today

      But that was in an environment where the average PC had a 640x480 display with 16 or maybe 256 colours. High end workstations had higher resolution but were often monochrome. The X server simply didn't have to do anywhere near as much work as a modern one.

      I was running on a 486 with 1024x768 and 256 colors using and ATI VL-localbus card in 1993. 8 MB RAM. The graphics were faster then the Sun Sparcstation 1+ at work with the same resolution. Compiles & multitasking were slower.

      People were doing less work. Instead of OpenOffice, I had LaTeX. sc for a spreadsheet (or Excel 4 on Windows). Xfig ran fine. Emacs 18.59, pine, kermit, ghostscript. olvwm, xclock, xload.

    71. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      Well, what would you suggest instead? I already stated that the only IPC mechanism with better performance is shared memory. Given that shared memory involves a great deal more complexity, synchronization issues and deadlocks being only the most obvious drawbacks, resorting to it without trying sockets first is a case of premature optimization.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    72. Re:X11 has never been a problem. by sootman · · Score: 2, Interesting

      Random tip: if you just want to run a single app from the remove machine, ssh -XC
      The X tells ssh to forward X and the C means compress. One particular app I used to run (connecting from anywhere to my Linux box at home, which was behind a 256k up DSL) launched in 30 seconds with -X and 10 seconds with -XC.
      Of course, different people's definitions of "usable" differ. :-)

      Otherwise, I hear good things about http://freenx.berlios.de/ .

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    73. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      What? Binary or ASCII, it makes no difference. Unix programs tend to use ASCII because it makes the communication transparent; humans can see what's going on, interact with the program for debugging or testing without learning specialized tools, etc. That, however, is orthogonal to the modularity aspect.

      Please, just read the book: The Art of Unix Programming. It explains all these issues. I don't have the time or the inclination to teach you every lesson learned during the development of Unix in a comment thread. Suffice it to say that to someone used to working with applications designed with the Unix design philosophy in mind, working with Mac OS or Windows applications often feels like putting on a straitjacket.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    74. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Try using X11 over something slightly slower as LAN. Just try it, over ADSL, whatever

      I've generally found that if you have a 10 Mb Ethernet link you're fine. This is for stuff like general browsing, e-mail, Matlab, etc. Never tried video (this was on SparcStation 5s and 10s, and even IPXs). I'd be interested in knowing if anyone did bandwidth throttling to find out where the "cut-off" point for decent responsiveness is.

    75. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      "Unix programs tend to use ASCII because it makes the communication transparent; humans can see what's going on, interact with the program for debugging or testing without learning specialized tools, etc."

      Humans can read ASCII because there are tools designed to read it. Because people have been using these specialized tools to read ASCII for so long they forget that ASCII is just an old convention like the QWERTY keyboard.

      "I don't have the time or the inclination to teach you every lesson learned during the development of Unix in a comment thread."

      I don't recall asking you to teach me anything. Perhaps you should look into pre-UNIX computing history to broaden your perspective.

    76. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      "I already stated that the only IPC mechanism with better performance is shared memory."

      Isn't that really a question of implementation? Why should sockets necessarily be faster than pipes for example?

    77. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      I gotta get that 64MB cache Processor you have, Did you get it from newegg?

    78. Re:X11 has never been a problem. by Thetawaves · · Score: 1

      Do you suggest that everybody writes in raw xlib? I do not think the distinction you are trying to make is relevant. Abstraction of some kind will always be necessary. Nobody wants to write in raw xlib.

    79. Re:X11 has never been a problem. by VisceralLogic · · Score: 1

      At one point around the same time frame I was browsing the web using X forwarding from a university over a 56k modem because my parents' AOL was broken!

      --
      Stop! Dremel time!
    80. Re:X11 has never been a problem. by timeOday · · Score: 1
      The sad thing is X isn't even any good for what it was designed for - remote display. It's just too slow, even on a WiFi lan connection. VNC and Windows Remote Desktop, though hacked on after-the-fact, work far better in any situation, other than perhaps a wired LAN. (But even then I use vncserver instead; you can disconnect and reconnect to a session, and access from cross-platform clients). By default, most distros don't even configure X to listen for TCP connections anymore. And very few developers access the Xlib API anymore, it's too primitive.

      Take that away and what problem does X actually solve? Letting you draw rectangles and pixmaps? All the real UI design work was simply passed along, and has finally, sort of, been done in the last few years.

    81. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Well it's indirect accelerated GLX (AIGLX) with a very simple (moderate bandwidth) geometry and transformations :) I hope NX client will implement this someday...

    82. Re:X11 has never been a problem. by timeOday · · Score: 1

      the X style of remote access is much, much more useful than VNC/RDP.... multiple people can run remote apps on the same machine, without interfering with each other or a user who's physically sitting at the machine.

      Actually VNC for linux does that too ("vncserver"). Or, if what you wanted really was remote control of the console, it supports that too, via x11vnc.

    83. Re:X11 has never been a problem. by Btarlinian · · Score: 1

      Oh no you don't!

      Try using X11 over something slightly slower as LAN. Just try it, over ADSL, whatever

      I tried. And X11 is totally and utterly USELESS. A well configured VNC (and you have to really play with the knobs) is usable. RDP is the best (of course, it wasn't developed by Microsoft...)

      That's not a problem with the architecture but with the protocol. Have you ever used FreeNX? It's amazingly fast in comparison to VNC and even RDP.

    84. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      NX (network X11 with some buffering and compression) is pretty nifty over slow upstreams

      WAY better than VNC because it works basically like RDP.

    85. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Doubt it - RedHat 6.2 was released in the beginning of 2000.

    86. Re:X11 has never been a problem. by anon+mouse-cow-aard · · Score: 1
      Yes, exactly. X11 ran reasonably complicated applications 20 years ago on hardware that we throw out as woefully inadequate (or quaintly archaic) today, and did so with entirely acceptable speed. X11 isn't the problem -- hardware is what, two orders of magnitude faster now?

      20 years of Moore's law is 2**10 == 1024 so ... three orders of magnitude.

    87. Re:X11 has never been a problem. by deek · · Score: 1

      Actually, I've run X11 over a 33k modem. It was a little sluggish, but quite usable. Maybe it depends on the application you're running?

      I didn't even use something like FreeNX or nxproxy, which is designed to compress and streamline X11 connections over slow links.

    88. Re:X11 has never been a problem. by BikeHelmet · · Score: 1

      So you are saying it is not X11 that is slow but Linux... Oh man you are taking it out of the frying pan and into the fire.

      He's correct. Look at Gnome/KDE/XFCE. Some of these are billed as "optimized" and "lightweight".

      Yes, they run fast on fast hardware. But boy do they use a lot of RAM!... and you wouldn't want to run them on an old P3 if you could avoid it.

      Then compare to something like LXDE. You lose a lot of GUI goodness, but memory and CPU usage drop like a brick. I use LXDE for all my servers that need a remote desktop. (which right now is just one :P )

    89. Re:X11 has never been a problem. by mr+exploiter · · Score: 1

      Who modded this informative? You can also see CPU cycles consumed by the kernel in windows, just open the task manager and look up the "system" process. And based on the responsiveness of windows vs X I doubt its "the same cycles" or more.

    90. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Oh, so you're really saying you hate Firefox, OpenOffice, and Linux?

    91. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      www.nomachine.com

      That will solve your problems.

    92. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      "I tried. And X11 is totally and utterly USELESS. A well configured VNC (and you have to really play with the knobs) is usable. RDP is the best (of course, it wasn't developed by Microsoft...)"

      I've generally found NX to be the best, up until recently, even RDP over NX felt more responsive than RDP by itself. NX will also give you X sessions, that are not terminated when you are disconnected.

      The problem here is that you are comparing apples and oranges, X11 gives you network transport but no session system, RDP and VNC provide both session and network transport.

      You can add sessions to X via NX, or another app that I've forgotten the name of, that allows you to resume your connection to an x app.

    93. Re:X11 has never been a problem. by h4rr4r · · Score: 1

      You have fun with that, the rest of us, who do real work need ssh -X to actually work.

    94. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      If you benchmark some random 3D games between Linux and Windows there is no Linux slow-down.

      Correct, because OpenGL has nothing to do with X11 performance. It's all up to the driver. What you see in an OpenGL window is an overlay that bypasses all of X11 other than what coordinates to draw within.

      If you benchmark the responsiveness of a well written GUI environment on Linux vs Windows, there's no slow-down.

      Such "well written" client software is insanely more difficult to create for Linux than Windows or MacOS. X11 is a nightmare to optimize around.

      In fact, I've only rarely run into a situation where Linux is slower than Windows in a GUI or otherwise.

      Maybe if "rarely" means you spend the majority of your days in XTerm and XEmacs. Every important modern OSS app runs significantly slower on Linux than Windows: Firefox, OpenOffice, Eclipse, Gimp, etc. The only reason for this is X11 performance. You can blame it on GUI toolkits all day long, but the fact is, the exact same software runs faster on Windows and OSX, despite this supposed hindrance. Yes, it is largely the fault of video drivers, but then you realize how much of a mess X11 is and you begin to understand why driver developer spend all their time just making something work at all, let alone having the time to properly optimize it. (and the target is constantly moving due to lack of unity in the OSS community.)

      Sidenote: X11 network transparency completely ceased to be useful a decade ago. (compare RDP feature-wise) I'm not saying this is a performance issue, but it is part of the underlying architecture that is flawed, bloated, useless, but must still be maintained. X need abandoned. There's no other sane solution at this point.

    95. Re:X11 has never been a problem. by consonant · · Score: 1

      Red Hat 6.2 was released in 2000, IIRC. I know I installed a spanking new Red Hat 5.8 on a 266 MHz P-II desktop in 1998. Something doesn't quite gel - could it be the hyperbole in the pursuit of making a point?

    96. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      Not being able to move applications from one display to another isn't a problem with X11, but the applications. X11 was designed with moving applications from one display to another very much in mind.

    97. Re:X11 has never been a problem. by man_of_mr_e · · Score: 1

      The only difference between how X11 implements this and how Quartz or the Vista display server implement it is that the protocol used via the serial channel that X11 uses is well documented.

      That's a very broad statement to make. While it's true that all three systems use some form of IPC, you are completely glossing over the efficiency of the protocol for various purposes. OSX and Windows can basically change their protocol whenever they want to improve efficiency on new hardware. X11 doesn't really have that luxury and is largely confined to a protocol developed for ancient displays (which works pretty well in most situations). But let's face it, having the ability to change your protocol when you see fit gives you a huge advantage. Even being able to design your protocol with modern knowledge is a huge advantage.

      Yes, X11 works quite well for being a 30 year old system, and there have been lots of extensions grafted on to help modernize it. But it's still a bit like a frankensteins monster where the Doctor says "Yeah, those scars are an advantage, what are you talking about?"

    98. Re:X11 has never been a problem. by mahadiga · · Score: 1

      X11 has never been a bottleneck in performance on the desktop

      MicroXwin doesn't think so.

      --
      I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
    99. Re:X11 has never been a problem. by icebike · · Score: 1

      Complaining about needing widget sets and window managers is complaining about modularity.

      Well you had me till the above sentence.

      X is fine.

      But the modularity of the widets, window managers, GTK, decorations, Desktops, display managers, etc culminaing in KDE or XFCE4 or Gnome ends up as a mind numbing separation of roles that no one really understands any more, and a construct that has outlived its usefulness.

      Several of those layers could, and arguably should be flattened into something that we recognize as as Gnome or KDE.

      These days the user interface is held hostage by too many layers under separate development, separate release cycles, and occasionally shoddy integration.

      When it works well, its very nice, but it is still pretty fragile if you ask me.

      --
      Sig Battery depleted. Reverting to safe mode.
    100. Re:X11 has never been a problem. by TheRaven64 · · Score: 1

      Yet another criticism from ignorance. X11 had an extension mechanism built in to it from the start. Every X11 message starts with a tiny header which indicates the type and size of the message. This makes it trivial to add new features to the protocol. You don't think encapsulating OpenGL command streams was in the protocol from the start do you? Or compositing, rendering to off-screen buffers, antialiased text, 32-bit RGBA visuals, notifications when the screen resolution or rotation changes, and so on were in the protocol from the start do you? A modern X11 application only really uses the core protocol for receiving events. Almost everything else goes via extensions. The older parts of the protocol are still present, for legacy applications, but newer ones don't use them.

      --
      I am TheRaven on Soylent News
    101. Re:X11 has never been a problem. by itsdapead · · Score: 1

      And don't see "developer resources", that's just a cop-out and you all know it.

      No, its the closed-source model - and for pragmatic reasons rather than simple FOSS ideology.

      The (L|U)i?n(i|u)x OS kernels and X window system are in perpetual development and lack stable binary APIs. The best way of supporting that is to release the source so that the FOSS community and distro producers can share the responsibility for maintaining it and building binaries. Trying to support numerous distros and multiple kernel and X versions via a binary release is a hugely inefficient way of supporting what is currently a minority market, c.f. a massive Windows market with only a couple of "active" major OS versions - with 5-year shelf-lives - to support. Frankly, I'm surprised that they bother.

      Personally, I think its time that the (L|U)i?n(i|u)x ecosystem pulled itself out of perpetual alpha and settled down to a much longer release cycle. However, even if you like the "realase soon, release often" model, it doesn't mix well with closed source binaries.

      If X isn't crap for you that's nice.

      If you want true network-transparent graphics (not just a remote desktop), X is in a class of its own - although if you do just want a remote desktop then VNC-type solutions seem to cope just-as-well, if not better, with eye-candy laden desktops.

      For a personal desktop, X just seems massivley over-engineered and also fails in one vital respect that hasn't been mentioned yet:

      Windows and Mac each provide a standardised GUI that strongly encourages consistency between applications. Forget psychobabble about the desktop metaphor or visual cognition: I think that a major reason why the destop GUI initially succeeded was that suddenly all the applications did the basics - like saving and opening files, copying, pasting, setting preferences - in the same way at a time when competing application software houses were trying to copyright the "look and feel" of their ideosyncratic text-based menus. X doesn't do this (to be fair, that was never supposed to be part of X) and although Gnome/KDE have taken on this job, the earlier attempts at window managers and desktops seemed to have a design philosophy of "I can't conceive of any UI finer than the un*x shell and vi/emacs, but I do want to run 8 instances of XTerm on something that looks as cool as NeXTStep".

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    102. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      layer upon layer of abstraction and interpretation stacked tall and high.

      This!

      Listen to the man!

      Write a program that does a thing. Don't write something that tells a library to tell a library to tell a library to talk through a protocol to tell a library to do a thing.

      Reinventing the wheel is sometimes the right option if you want a wheel and your choice is making the wheel you want or having a shipping container of assorted goods, one of which is a wheel that is mostly like what you were after.

    103. Re:X11 has never been a problem. by PastaLover · · Score: 1

      And don't see "developer resources", that's just a cop-out and you all know it.

      No, its the closed-source model - and for pragmatic reasons rather than simple FOSS ideology.

      The (L|U)i?n(i|u)x OS kernels and X window system are in perpetual development and lack stable binary APIs. The best way of supporting that is to release the source so that the FOSS community and distro producers can share the responsibility for maintaining it and building binaries. Trying to support numerous distros and multiple kernel and X versions via a binary release is a hugely inefficient way of supporting what is currently a minority market, c.f. a massive Windows market with only a couple of "active" major OS versions - with 5-year shelf-lives - to support. Frankly, I'm surprised that they bother.

      That's a great theory, except for the pesky problem of explaining why the intel drivers keep breaking.

    104. Re:X11 has never been a problem. by incense · · Score: 1

      RDP best? Something must've happened since I quit being a sysadmin some years ago. RDP used to be a security disaster.

      X forwarding in SSH works well on ADSL (enable persistent connections on your ssh client if your ADSL modem insists on disconnecting inactive connections).

      --
      testing 1 2 3
    105. Re:X11 has never been a problem. by thePowerOfGrayskull · · Score: 1

      While some GUI activity is kernel level, most of it is in user-space. In my own experience, I don't see that the system process is consuming CPU during heavy GUI painting operations - it always has been the application.

    106. Re:X11 has never been a problem. by MikeBabcock · · Score: 1

      My Internet bandwidth is an order of magnitude higher than you think it is. And as a professional sysadmin, my normal server bandwidth is orders of magnitude higher than that again.

      My home PC runs Linux, my office desktop runs Linux and my servers all run Linux. I've got the odd saturated gigabit link, I've got drives doing file serving at speeds that make vmstat's columns go wonky, and I use I/O cards that don't cause major wait times for that data.

      You may want to consider changing the disk scheduler you're using. There are instructions online.

      --
      - Michael T. Babcock (Yes, I blog)
    107. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      Pipes and sockets are probably about the same speed. The difference is that pipes only provide a single channel of communication; if there are multiple writers their messages get mixed together, and if there are multiple readers each gets a portion of the messages (or parts of messages) depending on the timing. To use pipes you would have to create a separate (named) pipe for every client, and somehow make each client open a different one (while avoiding contention). Unix-domain sockets are one-to-many; each client which opens the socket gets a separate connection to the server, so you only need to create one server socket.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    108. Re:X11 has never been a problem. by man_of_mr_e · · Score: 1

      I'm aware of that, and even mentioned it in my message, which you apparently did not actually read.

      You're still stuck with X11's basic protocol though, and the extensions only help with features that are entirely new. It doesn't allow the protocol for existing functions to be changed to be more efficient.

      In any event, Extensions defeat the purpose of having a "standardized protocol" since it means any two X11 implementations may not be able to talk to each other properly.

    109. Re:X11 has never been a problem. by TheRaven64 · · Score: 1

      You're still stuck with X11's basic protocol though, and the extensions only help with features that are entirely new.

      The core protocol handles event delivery and little else. The extension mechanism, by definition, is only required when you want to change the protocol. You can replace the implementation of existing message handlers (e.g. line drawing which went from unaccelerated to accelerated and back again in the reference implementation).

      It doesn't allow the protocol for existing functions to be changed to be more efficient.

      This comment doesn't even make sense. The protocol is not tied to the implementation. The protocol is the interface. If you can change the implementation to make it more efficient, you do so without changing the interface. If you want to change the interface to make it more efficient then the X11 way is to add a replacement interface and persuade clients to use it. A good example of this is how text rendering has evolved over the years.

      Near the beginning, X clients used a font server in the X server to render text. This was bandwidth-efficient because it allowed text to be rendered just by sending the position and the character to draw. It had problems for things like PDFs, however, where the client needed to supply the font information. It also didn't make it easy for clients to provide their own fonts (e.g. an office suite comes with a load of fonts, but you needed to install them on every X server you want to use to display it).

      Now the XRender extension is used for most text rendering. The client uploads the glyphs to the server and then the server composites them (with sub-pixel antialiasing) wherever they are required. This mechanism may be familiar to you if you've looked at how Apple implements text drawing: Quartz 2D Extreme introduced the same mechanism, but wasn't enabled by default until quite recently.

      In any event, Extensions defeat the purpose of having a "standardized protocol" since it means any two X11 implementations may not be able to talk to each other properly.

      Not at all. This was a problem in the early '90s when every UNIX vendor shipped their own X server with incompatible extensions, but now extensions are all generally prototyped in the same place and the ones people want are included with X.org. You can query an X server to find out which extensions that it supports and you can fall back to older mechanisms if they are not. For example, most toolkits that let you draw antialiased text will attempt to use the XRender extension, but will fall back to compositing in the client and then pushing pixmaps to the server if it's not present (which is still quite fast via shared memory, but much slower remotely).

      The extension mechanism in X11 is very cleanly implemented, which was the point of my last post. It makes it easy for the protocol to evolve over time. If you absolutely need the latest features, then you can require them, just as you can require Windows Vista if you need the compositing support it added, but it's very easy to write fall-back support for when the extensions are not present. Most of the time, this will be abstracted away for you by the toolkit.

      --
      I am TheRaven on Soylent News
    110. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      Well, the definition of pipes varies a bit on different OS's (even among Unix systems), but certainly on Windows you can use named pipes that are message-oriented and won't scramble up messages from multiple clients.

      Unix FIFOs (which can be considered a specialized pipe) also support atomic writes if the message isn't longer than the pipe buffer (PIPE_BUF). Typically a client creates a private FIFO and then sends it's path to the well-known server FIFO. Thus a one-to-many (server to clients) capability is created. See UNIX Network Programming, Interprocess Communications Volume 2, Second Edition by W.Richard Stevens, Chapter 4.

    111. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      All true, of course. Certainly on non-Unix systems you would have to find a solution other than Unix-domain sockets. If that solution involves independent, two-way communication channels, with the server side being identified by a single well-known name, you can consider it equivalent to Unix-domain sockets for the purpose of this discussion.

      What you said about FIFOs is basically what I meant when I said you would need separate pipes for each client and a meta-protocol to coordinate their use with the server. Note, too, that FIFOs are typically one-way, so you would actually need two per client to replace a single socket.

      Other IPC mechanisms can match sockets for speed, but none of them are faster than sockets in principle (apart from shared memory). Among those which are widely available, sockets tend to be the best match for one-to-many, independent, two-way communication. FIFOs, on the other hand, are more convenient for one-way, one-to-one communication. You can emulate either one with the other (as is true for all forms of IPC), but why not pick the one which best matches what you're trying to do?

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    112. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      Well in the application we are talking about there isn't any need for two-way communication. Besides, if you look at Stevens' example you'll see only N+1 one-way pipes are required, not 2N pipes (where N is the number of clients).

      Of course Windows has duplex pipes so it's not an issue there.

      Interestingly enough Stevens doesn't consider sockets to be an IPC mechanism.

    113. Re:X11 has never been a problem. by man_of_mr_e · · Score: 1

      I think you're being disingenous. Extensions have to be supported by both the client and the server.

      Let's say i'm running an app written 5 years ago. My app knows how to talk to the X server using whatever was standard 10 years ago. If your new X server, via extensions, has changed the way the protocol works, the apps don't magically adjust. They still require the old protocol.

      Now, true, if it's written to some intermedite X library that has changed to support the new features then that will work, but honestly the odds of that are at best 50/50 given how many different X toolkits there have been and how few of them are still actively maintained and kept mondern.

      In the MacOS/Windows model, Apps talk to Quartz/GDI, so when those change to support a new model, the apps magically get those changes.

      What's more, since this is a binary model, that means that the apps get the benefits without recompilation and/or upgrading to newer libraries (which may or may not be transparent.. and could require coding changes).

    114. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      Well in the application we are talking about there isn't any need for two-way communication.

      What? The application we're talking about is X11, and the X11 protocol requires two-way communication. At the very least you have to be able to receive status reports back (success/failure), and there are all those event notifications (key press, mouse movement, etc.) to consider.

      Besides, if you look at Stevens' example you'll see only N+1 one-way pipes are required, not 2N pipes (where N is the number of clients).

      The contents of that book do not appear to be available online (and I'm not buying it just for this discussion), but from the source-code examples I assume you're referring to the fact that you can use just one pipe for all communication to the server, and separate pipes for communication to the clients. That works, but the server has no way of knowing which client sent a given message (aside from implementing some sort of ad-hoc message signing protocol itself), whereas sockets given each client a secure path to the server so that a misbehaving or malicious client can't send messages on some other client's behalf. Given that creating a socket takes about the same amount of effort as creating a FIFO, I don't see any reason to waste time mimicking sockets with FIFO pairs (even if half the pair is common to all clients).

      Interestingly enough Stevens doesn't consider sockets to be an IPC mechanism.

      "Oops". That's a fairly embarrassing omission for a book with Unix, network programming, and IPC all right there in the title.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    115. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      > What? The application we're talking about is X11, and the X11 protocol requires two-way communication.

      Except that X11 is NOT an application. Look up what applications do, and get back to us.

    116. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      "What? The application we're talking about is X11, and the X11 protocol requires two-way communication."

      No, this discussion is about GUI subsystems and how X11 stacks up against the others. The fact that X11 requires two-way communications doesn't mean it's essential in other solutions.

      I love your statement about a FIFO solution "mimicking' sockets as if sockets were some fundamental building block rather than just one arbitrary solution out of a large set of possible solutions.

      ""Oops". That's a fairly embarrassing omission for a book with Unix, network programming, and IPC all right there in the title."

      It's possible for anyone to make a mistake but I don't think you'll get much respect dissing Richard Stevens among Unix developers.

    117. Re:X11 has never been a problem. by mr+exploiter · · Score: 1

      So? The point is that is not hidden you can still have some kind of feedback on how much CPU % the application+GUI is using. Knowing how much is the application logic and how much is GUI would more difficult however, but not impossible, by using a profiler.

    118. Re:X11 has never been a problem. by TheRaven64 · · Score: 1

      In the Windows world, apps talk to GDI.dll. The interfaces to this have changed massively in the time X has been around. Apps using the older interfaces don't get the newer functionality and the function calls correspond quite closely to the client-server IPC.

      In the OS X world, apps talk to the Quartz library and send serialised PDF commands. You may not be aware of this, but the command encoding is public and has not changed since OS X was released, it has only been extended. Quartz uses exactly the same model as X11. If you use Cocoa on top of Quartz then you will get support for some of the newer features automatically. Similarly, if you use GNUstep on top of X11 for the same code.

      Your last point is complete nonsense. The Windows and OS X toolkits maintain a stable ABI. So do some X11 toolkits. If your apps use a toolkit with a stable ABI then it gets the benefit of new features on the display server on whatever the display server is.

      Your comments make me wonder if you've ever actually written any code that talks to an X server.

      --
      I am TheRaven on Soylent News
    119. Re:X11 has never been a problem. by MemoryDragon · · Score: 1

      Bollocks. Largo, Florida runs about 300 users on thin clients over X, with all the latest Linux UI stuff, like GTK and Compiz. Yes, the fancy 3D desktop cube works just fine over networked X11.

      I assume they have added FreeNX or commercial NX to the mix to get the network performance. If you do that with Raw X11 then you can watch your network coming to a crawl, been there done that.
      NX mostly alters the protocol on the fly and caches font information so that the overhead is reduced significantly (speaking of one packet per character sent instead of hundreds defining every pixel and its shadow)

    120. Re:X11 has never been a problem. by thePowerOfGrayskull · · Score: 1

      So? The point is that is not hidden you can still have some kind of feedback on how much CPU % the application+GUI is using. Knowing how much is the application logic and how much is GUI would more difficult however, but not impossible, by using a profiler.

      That's not the point I was trying to make at all. My point is pretty simple: to someone who doesn't understand how a given windowing system works, it will appear that X is very CPU hungry because they can see it using CPU while the application sits "idle" -- compared to Windows, where the application is using CPU without any indication that it's specifically performing a windowing operation. In reality, the GUI work on linux is just offloaded from the application to the windowing system - which happens to be a separate executable. But still, the perception remains: "X" is consuming CPU while on windows, there is no counterpart.

      Obviously if you understand how the different windowing systems work, there's no need for confusion, as the specifics can certainly be quantified...

    121. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      No, this discussion is about GUI subsystems and how X11 stacks up against the others. The fact that X11 requires two-way communications doesn't mean it's essential in other solutions.

      Any practical GUI solution is going to require that input events be communicated back to the clients. Well, I suppose the GUI server/toolkit could ignore input handling entirely, and make the clients get their input from the drivers directly, but then you need two-way communication between the clients and the input drivers instead (to handle changes in focus). And you'll get synchronization issues trying to coordinate drawing operations with sound, input, etc. if there's no indication from your GUI process back to your clients of when their drawing operations are complete.

      I love your statement about a FIFO solution "mimicking" sockets as if sockets were some fundamental building block rather than just one arbitrary solution out of a large set of possible solutions.

      Neither FIFOs nor sockets are fundamental. I already acknowledged that all forms of IPC are equivalent in principle, performance issues aside. You can mimick FIFOs with sockets, and sockets with FIFOs, or either one with shared memory or temporary files or.... That doesn't mean that all forms of IPC are an equally good fit for a given problem in practice, however. Given a choice between creating one socket and creating N+1 FIFOs (with N > 1), assuming they are equally fast and ignoring the fact that the socket provides more secure communication, I would choose sockets because they only require a single well-known-name and not the entire extra meta-protocol necessary for the FIFO approach. (Which is much the same reason I would choose sockets or FIFOs over shared memory, unless insurmountable performance issues made shared memory necessary.)

      It's possible for anyone to make a mistake but I don't think you'll get much respect dissing Richard Stevens among Unix developers.

      I'm not "dissing" Stevens; as you said, anyone can make a mistake. It's still an embarrassing omission given the subject of the book. He'd probably agree with me on that.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    122. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      "Any practical GUI solution is going to require that input events be communicated back to the clients."

      Usually drawing is done by a different entity than processing input. Does your graphic card send you mouse notifications?

      "I'm not "dissing" Stevens; as you said, anyone can make a mistake. It's still an embarrassing omission given the subject of the book. He'd probably agree with me on that."

      I phrased my statement badly. What I meant is that in general I don't subscribe to the notion that we should blindly accept what a person says just because they're considered to be an expert.

      So I didn't mean to imply that Stevens made a mistake and he wouldn't agree with you because he explicitly defended his choice in the preface. He wrote a whole book about sockets which makes up Volume 1 of Unix Network Programming

      To be fair he differentiates between nonnetworked IPC and IPC across a network rather than claiming that sockets aren't IPC at all. On the other hand, he clearly doesn't advocate that networked IPC is a better approach for single-machine applications.

      Obviously X11's approach isn't single-machine, but the question is whether that approach compromises the value of local GUI operations. This is the core of our disagreement.

    123. Re:X11 has never been a problem. by Homburg · · Score: 1

      I assume they have added FreeNX or commercial NX to the mix to get the network performance.

      No, they haven't, except for a small number of offsite users working over low-bandwidth connections.

      speaking of one packet per character sent instead of hundreds defining every pixel and its shadow

      Xft already stores glyphs on the server. The image information is transferred once for each character in each font at a given size, not for every text drawing operation.

    124. Re:X11 has never been a problem. by JesseMcDonald · · Score: 1

      Usually drawing is done by a different entity than processing input. Does your graphic card send you mouse notifications?

      A GUI consists of more than just drawing. You can separate drawing and input into separate processes, but a general-purpose GUI must include both, and the two must be coordinated in some fashion. That implies two-way communication. (Can you point out a single example of a practical UI with only unidirectional IPC?)

      On the other hand, he clearly doesn't advocate that networked IPC is a better approach for single-machine applications.

      That's fine, because Unix-domain sockets aren't networked IPC. They are only usable for intra- or inter-process communication on individual machines. They take advantage of the general socket API, but otherwise are no different than shared memory or FIFOs or message queues or whatever else he classified as non-networked IPC. The fact that they can be transparently exchanged with networked sockets, aside from actually setting up the the connection, is merely a side-benefit of using the same API. If Stevens, or anyone else, tried to claim that Unix-domain sockets aren't a form of IPC he would be wrong; they have no purpose other than IPC. I think he would recognize that.

      Obviously X11's approach isn't single-machine, but the question is whether that approach compromises the value of local GUI operations. This is the core of our disagreement.

      OK. So in what way are you saying that having a protocol based on Unix-domain sockets rather than pipes as a form of non-networked IPC, and trivially supporting connections from network sockets as well (with no changes to the rest of the server), "compromises the value of local GUI operations"?

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    125. Re:X11 has never been a problem. by ClosedSource · · Score: 1

      I'm not an expert in Unix-based sockets so I'm not aware of the difference between Unix-domain sockets and networked sockets beyond what is implied in your comment. So it would be risky to assume Stevens' detailed position based on my high-level understanding.

      I can't prove the performance case and I doubt you can prove the opposite either. Yet FIFOs and Pipes continue to be used despite your belief that sockets are better.

      Anyway, I don't think I have more to contribute on the subject. I've learned some things I didn't know as a side-effect of this discussion so thank you for participating.

    126. Re:X11 has never been a problem. by man_of_mr_e · · Score: 1

      You're contradicting yourself. Out of one side of your mouth you claim that the protocol has been changed and enhanced over the years by use of extensions, then you say the protocol is stable and hasn't changed, thus compatibility is ensured.

      You can't have it both ways.

      There is no ABI for X11, unless you want to count xlib. It's a protocol. Apps (usually via various toolkits) talk to X11 through the protocol, not through an ABI in the OS.

      The point, which you seem to be ignoring and spinning around, is that apps on Windows and OSX talk to an ABI supplied by the OS. The ABI is typically a link library of some kind (GDI.dll for instance) and GDI.DLL can change the way it talks to the actual display whenever it wants without the App being aware of it or needing to change.

      Yes, new features have been added over the years that have new interfaces, but existing apps can benefit from a protocol enhancement in a new OS without changing the apps.

      X11 has to maintain that protocol compatibility, and thus cannot change it's protocol on a whim, though it can add new features, which the apps are required to be written to know about.

      Stop squirming and admit that legacy apps have to continue to use the legacy protocol unless rewritten. This protocol cannot be changed without the apps (or the toolkits) being aware ofit.

    127. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      To be fair I think the gp meant Linux exclusive, not native. But even then Firefox is a pretty bad choice, since its development has always had Linux in mind as well as other platforms.

      Firefox was originally designed to be Windows-only, and it's pretty clear that Mozilla still focuses mainly on Windows and the Mac.

    128. Re:X11 has never been a problem. by Anonymous Coward · · Score: 0

      > Firefox was originally designed to be Windows-only, and it's pretty clear that Mozilla still focuses mainly on Windows and the Mac.

      I don't know where you get that idea. Firefox was cross-platform from the beginning, as was the Mozilla suite before it. They've always supported Linux.

  7. Re:Even if X is usually slower... by Anonymous Coward · · Score: 5, Insightful

    I like how you took a bunch of graphics and video related words and threw them together in a post that sounds coherent, yet is totally wrong.

  8. not "s" by Anonymous Coward · · Score: 0

    "X window" not "X windows"

    1. Re:not "s" by pe1rxq · · Score: 1

      "X window system" not "X window"

      --
      Secure messaging: http://quickmsg.vreeken.net/
    2. Re:not "s" by cerberusss · · Score: 1

      Or just "X". But then again, I've been modded -5 Pedantic Prick because I had said it's called either "X" or "X Window System". Kind of weird, because people would probably correct me if I would say "Windows Vistas" or "Mac OSeX" :-)

      --
      8 of 13 people found this answer helpful. Did you?
    3. Re:not "s" by Anonymous Coward · · Score: 0

      The X Consortium requests that the following names be used when referring to this software:

                              X
                  X Window System
                        X Version 11
            X Window System, Version 11
                              X11

  9. Really? by complete+loony · · Score: 2, Informative

    From the later discussion on that topic, it seems the conclusion was that windows had a large history in the profile and may be bitblt'ing the first draw operation from main memory. Both of which have an impact on how slow it feels to the user.

    --
    09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
  10. 20% faster on his 20% faster machine.... by Thantik · · Score: 5, Insightful

    After doing a fresh install on both systems the guy determined that it was just some sort of freak occurrence. He had one laptop with a 2.0ghz processor and another with a 2.4ghz processor and after the reinstall on both systems, VOILA...it was only roughly a 20% difference...

    TFA - just keep reading further and further down the usenet post

    1. Re:20% faster on his 20% faster machine.... by dsanfte · · Score: 0, Flamebait

      What, you mean some X11 fanboi has a hard-on for confirmation bias, and led us astray in the article summary? Say it ain't so...

      --
      occultae nullus est respectus musicae - originally a Greek proverb
    2. Re:20% faster on his 20% faster machine.... by Anonymous Coward · · Score: 1, Funny

      "X11 fanboi"? Like, seriously!?

    3. Re:20% faster on his 20% faster machine.... by Jeremy+Erwin · · Score: 1

      Real X11 fanbois would ssh into a remote client, and run firefox over the network.

    4. Re:20% faster on his 20% faster machine.... by Monsieur_F · · Score: 1

      it can be very fast if you already have a local instance of firefox running ;)

      --
      McCartney fans pay bus tickets. [...] Lennon fans too, with discretion.
  11. Just wait until... by Anonymous Coward · · Score: 0

    Oops, my chrome just crashed.

  12. Re:Even if X is usually slower... by ArsonSmith · · Score: 2, Informative

    Framebuffer is an unaccelerated bitmap display, X11 is an accelerated graphics layer (that can use a framebuffer)

    something that writes directly to a framebuffer is going to need a lot of additional programming in order to be as fast as X11 is.

    --
    Paying taxes to buy civilization is like paying a hooker to buy love.
  13. So in other words by Anonymous Coward · · Score: 3, Interesting

    So in other words, those who programmed on X when X was the only big player are now older where you lose hair and sexual virility.

    Colour me surprised.

    Meanwhile X is still working better than Mac or Windows as a GUI framework.

    Thing I don't get is why so many guys have a hard-on for dissing X.

    Why?

    1. Re:So in other words by Anonymous Coward · · Score: 0

      It's obviously not as good as you make it out to be.

    2. Re:So in other words by sarhjinian · · Score: 5, Interesting

      Because, from a user's perspective, it doesn't work all that well. Here's an example:

      On MacOS X, it's just about impossible to get into a situation where a) video tears or flickers, or b) menus and windows can "rub out" other menus or windows (eg, you can't drag a window around like a giant eraser on Mac OS). On X+whatever, it's pathetically easy to do either. Windows is somewhere in-between the two.

      To be fair to X, managing compositing et al isn't it's job---but it should be! Between X's by-design paucity of features and the number of combinations of video driver, X server, window manager and settings thereof, it's hard to get a decent, modern desktop experience. Had X been designed a little more smartly (eg, for actual people and not for computer scientists) this probably wouldn't be such a problem. Grafting things like multiple display support, accelerated 3D, video playback and now, compositing, have shown problems. Back in the day, when you could just buy IRIX (ro whatever) and be assured of a working, end-to-end X implementation this wasn't an issue. With the clusterfuck that is X.org+DRM+GEM+Mesa+KMS+GL/GLX/AIGLX+DRI/DRI2+UXA/EXA/XAA+whatever window manager is invovled, it's a crapshoot.

      By comparison, again, we have MacOS X's system, which again just works, even if in theoretical terms it's a little slower. Users don't care that much about GTK benchmarks; they do care if the user experience breaks down.

      The UNIX Hater's Handbook, which is a little bit out of date now, goes into the design errors of X. It's worth reading if you're wondering why X drives people nuts.

      --
      --srj/mmv
    3. Re:So in other words by Bigjeff5 · · Score: 4, Insightful

      The UNIX Hater's Handbook, which is a little bit out of date now, goes into the design errors of X. It's worth reading if you're wondering why X drives people nuts.

      The handbook may be out of date, but that section on X is just as true today as it was then. This part in particular hits the nail on the head:

      (The idea of a window manager was added as an afterthought, and it shows.)

      If X outperforms anything, it is by sheer luck and unexpected consequence. The planets align "just so" and for once it is the best implimentation for a particular task. It is not a common occurance. Coming to the conclusion that it "stood the test of time" based on a single piece of software is rather foolish. If X regularly out-performed Windows and Mac this would not be a surprise, but of course, it is a surprise.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    4. Re:So in other words by Blakey+Rat · · Score: 0, Flamebait

      Meanwhile X is still working better than Mac or Windows as a GUI framework.

      It *is*?!

      What planet are you posting this from? It's certainly not Earth. I think at the very best, you could say X was on-par with Windows and OS X... at best. Just because it happens to work better for this one application doesn't indicate that it's some holy perfect being, especially when it works worse with... virtually every other application ever.

      Let me ask you this: when's the last time you saw a dragged window tearing in Windows? (Not since XP.) Or in OS X? (Never.) When's the last time you saw a dragged window tearing in X11? FIVE SECONDS AGO!

    5. Re:So in other words by JasterBobaMereel · · Score: 2, Informative

      The point is that while X is "an afterthought" and "badly designed" it has been fixed so well and so often by so many people (simply because there was nothing better) that it has already had all the major bottlenecks taken out of it ...

      It is an afterthought in that it is stacked on top of the rest of the system rather than integrated, and it has a client server model because originally the display was normally on a different machine than the server (this is often raised as a bad design), but this can actually help to isolate it from the rest of the system so it is not dependent on it, and because it was always (on very old hardware) considered very slow, it was optimised to be as fast as possible within the design limitations it had .... this means that it is now very fast on fast hardware ....

      --
      Puteulanus fenestra mortis
    6. Re:So in other words by The+Cisco+Kid · · Score: 1

      You are confusing X with a desktop/session manager. What you want is Gnome and/or KDE.

      X is just a display-device-independent way of drawing crap on a screen. (and receiving keyboard and pointer input) It is not a "Desktop"

    7. Re:So in other words by steeviant · · Score: 1

      On MacOS X, it's just about impossible to get into a situation where a) video tears or flickers, or b) menus and windows can "rub out" other menus or windows (eg, you can't drag a window around like a giant eraser on Mac OS). On X+whatever, it's pathetically easy to do either. Windows is somewhere in-between the two.

      As a regular user of Ubuntu, Windows and Mac OS X, I'm really stunned by your claims that a modern Linux, or Windows suffers from slow repairs of damaged windows (notwithstanding the system being stuck in some legacy graphics mode) considering that the off-screen buffering inherent in such systems mean that a window can never be "caught with it's pants down", and too busy to repair a damaged window under such a system because damage and redraws is handled during composition by the windowing system. When applications become too unresponsive to update under a compositing system their windows stay frozen, but do not get "erased" by dragging another window over them. Ever.

      "Tearing" of Windows during dragging is still a problem for all of these systems if somewhere along the line there's enough of a difference between refresh rates between devices and/or software. Apple have a natural advantage of being able to have control over framerate sync between the OS->driver->card, and often right through to the monitor, Windows has to deal with the problems of disparate video cards, drivers and monitors more often than OS X, and as you point out Linux has to do an even more delicate dance than Windows to get the entire graphics pipeline in agreement about such things. Having said that, all three OSes are trying very hard using mostly similar methods to keep everything at the same refresh rateto prevent flickering and tearing, and nobody's perfect.

      I'm really not sure what day you were back in where dragging windows around in Irix didn't result in slow redraws over busy applications, I suspect that whatever it is you're smoking might have some fungus growing on it. Might be time to refresh your stash.

      As for the UNIX hater's handbook's chapter about X11, I couldn't find anything in there that actually is still relevant. Kind of like your post really.

      Back in the day, when you could just buy IRIX (ro whatever) and be assured of a working, end-to-end X implementation this wasn't an issue. With the clusterfuck that is X.org+DRM+GEM+Mesa+KMS+GL/GLX/AIGLX+DRI/DRI2+UXA/EXA/XAA+whatever window manager is invovled, it's a crapshoot.

    8. Re:So in other words by Bigjeff5 · · Score: 4, Insightful

      , and it has a client server model because originally the display was normally on a different machine than the server (this is often raised as a bad design)

      You should read that section on X the GP posted, they actually tried to use X for its intended purpose (back when that actually was an intended purpose, and had not been hacked around yet) and found it nearly useless as a remote display server/client setup compared to other setups, most notably Sun's at the time. It was arbitrarily devided into client/server (and "client" and "server" roles were reversed from convention, for some strange reason) without much rhyme or reason, which made it a bandwidth hog and meant half the graphics application had to reside on the client (the end computer the graphics, not X's retarded definition of client) anyway.

      ...it was optimised to be as fast as possible within the design limitations it had

      Except that it wasn't. For the longest time X11 was the most bloated and slowest option out there, for remote and local applications alike. The only reason it is fast now is because hardware has moved so far beyond it that it is fast in spite of itself. It certainly isn't nearly as powerful as any other GUI system, and when you actually add on all the bells and whistles (which must be created separately by somebody else) it's still slower than anything around. Seriously, add the necessary components to make X11 match Windows XP/Vista/7 or Mac OSX, particularly a good window manager window dressing from Compiz, and you'll find almost everything GUI-based runs slower on X11.

      That Chrome is an exception is shocking, and is why everybody is surprised, hence TFA.

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    9. Re:So in other words by Abreu · · Score: 1

      Don't include OSX in a graphics comparison. It is designed to work perfectly well with a limited subset of hardware

      --
      No sig for the moment.
    10. Re:So in other words by sarhjinian · · Score: 1

      I'm not confusing it.

      What I am saying is that X should have been designed to provide more services than it does, and that some of the services we're trying to hack onto it are suffering as a result.

      It's not so much KDE or GNOME, but Compiz/Metacity or KWin not being part of X that's the problem. The window manager should have been part of X from the get-go. So should a lot of things, for that matter.

      --
      --srj/mmv
    11. Re:So in other words by Tanktalus · · Score: 5, Informative

      (and "client" and "server" roles were reversed from convention, for some strange reason)

      What? Since when? I always thought that the X server was the behemoth application that ran, waiting for connections from other apps (the clients), consolidated the requests, acted on them, and responded back to those clients. You're telling me that X itself is termed the client, and those little apps that all connect to it are called servers? Yeah, that IS backwards!

      Oh, hold it, that's not what you're saying at all. You think that "server" is a designation of the size of the machine it runs on, not a designation of the model of communication the application itself uses. You do realise, though, that even a "web server" (which could just be a wall wart acts as a client for DNS querying, right? That "client" and "server" are fluid terms based on what the app is doing, and not where it is?

      A server responds to incoming request(s), usually from multiple sources. A client initiates those request(s), usually to a single target. That is all. X uses these terms perfectly. The application sitting on my desktop machine is the server, and the xterm I'm running on the Linux/zSeries box is the client. For this particular purpose. Of course, that Linux/zSeries box is also the ssh server that I use to connect to it in the first place, over which a tunnel is created in the reverse direction to allow that xterm to come up at all. It's not the convention that is being ignored. It's just that you're using the wrong definition.

    12. Re:So in other words by sarhjinian · · Score: 3, Informative

      When applications become too unresponsive to update under a compositing system their windows stay frozen, but do not get "erased" by dragging another window over them. Ever.

      I'm dragging a Firefox window over a dead RDP session right now. It's erasing the contents of the window. I've never, ever managed to do that on MacOS X and not often on Windows Vista.

      If I use a compositing window manager, that problem goes away, but in it's place comes a whole new set of issues. Ever notice how common "turn off Compiz/KWin compositing" comes up when people try to troubleshoot X issues? At least Vista is smart enough to turn it off for you when the situation merits it.

      "Tearing" of Windows during dragging is still a problem for all of these systems if somewhere along the line there's enough of a difference between refresh rates between devices and/or software.

      On no other platform do you ever have to think about syncing refresh rates. On X, you're at the mercy of the driver and window manager. On an nVidia card you're probably ok. On a recent Intel card you might be. On ATI it's a complete crapshoot. Throw in compositing and it gets even more complex.

      Meanwhile, on much of the same hardware, you could run a hacked version of Mac OS X and not see a lick of tearing or artifacting.

      I'm really not sure what day you were back in where dragging windows around in Irix didn't result in slow redraws over busy applications, I suspect that whatever it is you're smoking might have some fungus growing on it. Might be time to refresh your stash.

      I'm not saying that IRIX didn't do have that problem, but that, at the time, you could buy a commercial UNIX workstation and get a decently-integrated X server. The problem then was that you had to pay an astronomical sum to get the same window management performance that you took for granted on a Mac, and that a heck of a lot of tuning, testing and integration had to happen to get your (very expensive) video or 3D application to work, again, as well as a Mac.

      Nowadays, you don't have to spend a fortune tog get decent X. What you have instead is that you're stuck with one card family (nVidia) or checking experimental code out of various git respositories, and even then you're not guaranteed the level of seamless video behaviour that you'd see on a Intel-based machine running Windows Vista.

      I'm glad some people get decent X performance, but spending more than a little time on, say, Phoronix or Ubuntu's forums should disabuse you of the notion that everything works.

      --
      --srj/mmv
    13. Re:So in other words by sarhjinian · · Score: 1

      You can run OS X on non-Apple hardware. Google "hackintosh" for a start.

      I have, and it often works better than X on the same hardware. Sure, the raw performance might not be quite there, but even on hardware that Apple would spit on I get a cleaner experience. That should tell you something about the relative design strength of X.

      --
      --srj/mmv
    14. Re:So in other words by Anonymous Coward · · Score: 0

      And we would be stuck with TWM cemented into X forever? Thanks, but no, thanks. I prefer being able to use a tiling WM while still being able to launch a float WM for someone.

    15. Re:So in other words by Tetsujin · · Score: 1

      The window manager should have been part of X from the get-go. So should a lot of things, for that matter.

      Why is that?

      It seems to me that the ability to come up with new and better window managers has generally been an asset.

      --
      Bow-ties are cool.
    16. Re:So in other words by sarhjinian · · Score: 1

      I'd have expected TWM to evolve, much like the window managers of Windows and the Mac OS have evolved.

      The reason we didn't do any of that years ago is because every vendor had to have their little fiefdom. HP, IBM and SGI would never have used Sun's window manager or display server extensions, and anything coming out of the open-source community just wouldn't get considered.

      Now that all that's been pushed to the side I'd hope things would improve. They might, too, if the driver and window manager wars settle down and all the disparate projects get finished.

      --
      --srj/mmv
    17. Re:So in other words by bonch · · Score: 0

      Meanwhile X is still working better than Mac or Windows as a GUI framework.

      Well, you lost me there. Cocoa and Quartz kick the shit out of X11 in that department. I can't even remember the last time I saw tearing in a window except on a Linux system.

      This article's summary reaches an erroneous conclusion. X11 Chrome being a little faster than other versions doesn't mean X11 is awesome and has stood the test of time. It means Chrome isn't as optimized on the other platforms. For example, according to their website, they have Chrome on OS X rendering its pages into bitmaps due to their implementation of sandboxing on that platform. You can notice a slight scroll delay in Chrome for OS X if you grab the scroll bar and move it around quickly. Contrast to Safari which scrolls responsively.

    18. Re:So in other words by sarhjinian · · Score: 1

      How much of the graphical user interface evolution on UNIX has been put back because the varying WMs and toolkits?

      It's better now that we're down to X.org and GTK or Qt, but years were wasted because you couldn't write an app that took advantage of, say, Display Postscript or multi-head or decent colour-correction or a given GUI toolkit without restricting your market.

      For a very long time---and ending not so long ago---state of the art, cross-platform GUI toolkits on UNIX started and ended with Motif. That's horrible.

      --
      --srj/mmv
    19. Re:So in other words by GnuDiff · · Score: 1

      I don't get it. Haven't seen video flickers or "rub outs" on my Ubuntu for at least 3 years... on different hardware. Is there something I should be aware/wary of?

    20. Re:So in other words by Paul+Jakma · · Score: 1

      The handbook may be out of date, but that section on X is just as true today as it was then. This part in particular hits the nail on the head:

      (The idea of a window manager was added as an afterthought, and it shows.)

      Yes indeed. Just look how stupid were the X designers to not have made TWM a core part of the protocol! </sarcasm>

      It's amazing that people can quote from an old "haters handbook" straight-faced and claim X11 was designed badly, when all the points in that handbook are no longer relevant to modern GUIs, despite those GUIs still using X11! (While still supporting ancient apps using those obsolete technologies).

      To me that says the X11 designers were amazingly prescient, and the commentators quoting from that handbook are quite clueless..

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
    21. Re:So in other words by Anonymous Coward · · Score: 0

      *drags window*

      Nope, works fine here. Is there a video on YouTube showing what you're talking about? (Not that I'm doubting you, I'm running a pretty mean system here. It's probably happening faster than I can see.)

    22. Re:So in other words by johanatan · · Score: 3, Insightful

      I always thought of it this way: XServer provides display and I/O services to the client applications. Client and server may be on the same machine or not.

    23. Re:So in other words by Anonymous Coward · · Score: 1, Interesting

      If [OSX] just works means focusing on the minimize button, clicking on it, having it do nothing, then defocusing, refocusing and clicking on the minimize button a 2nd time to get a window minimized, then I'll stick with X11.

      It must be me, but I seem to have that problem on every OSX machine I've used to date (upto SL) on a trackpad or mighty mouse...

    24. Re:So in other words by mrboyd · · Score: 1

      To me a the server is the machine running the application that provide me with a service. In this case the service is running twm and mosaic and I use my "XClient" to access it a bit like I use my Mosaic to access your personal homepage on the world wide web. Why my X display is called a server while my html display is called a client is not clear to me.

      Whether the direction of who open a socket first matters to define which machine is the actual server is up for debate.

    25. Re:So in other words by Anonymous Coward · · Score: 0

      Let me ask you this: when's the last time you saw a dragged window tearing in Windows? (Not since XP.) Or in OS X? (Never.) When's the last time you saw a dragged window tearing in X11? FIVE SECONDS AGO!

      Then switch to a non-broken window-manager. I've never seen tearing outside of GTK applications.

    26. Re:So in other words by awshidahak · · Score: 2, Funny

      My dragged windows don't tear. They wobble.

    27. Re:So in other words by Virak · · Score: 2, Insightful

      *drag*
      *drag drag drag*
      *drag all over the screen as fast as I can like an angry monkey on crack*
      Nope, don't see any tearing. CLOSED WORKSFORME

    28. Re:So in other words by RAMMS+EIN · · Score: 1

      ``On MacOS X, it's just about impossible to get into a situation where a) video tears or flickers, or b) menus and windows can "rub out" other menus or windows (eg, you can't drag a window around like a giant eraser on Mac OS). On X+whatever, it's pathetically easy to do either.''

      Really? Interestingly, I've only ever seen this on Windows. Maybe it just depends on what applications you use.

      ``Grafting things like multiple display support, accelerated 3D, video playback and now, compositing, have shown problems.''

      ``Between X's by-design paucity of features and the number of combinations of video driver, X server, window manager and settings thereof, it's hard to get a decent, modern desktop experience. Had X been designed a little more smartly (eg, for actual people and not for computer scientists) this probably wouldn't be such a problem. Grafting things like multiple display support, accelerated 3D, video playback and now, compositing, have shown problems.''

      While I am sure there have been problems, I think it is to X's credit that it _has_ been proven possible to add all this features all the while maintaining backward compatibility with existing software. I mean, what other display system in current use goes back to 1985? I don't know about Windows's, but OS X's certainly doesn't. Meanwhile, where X has arguably hit a few bumps implementing certain features, there are features that X has had since the beginning that Windows and OS X still lack. And while you may see a myriad of possible combinations as a Bad Thing, I see that as a strength: you can experiment with new ideas without having to replace the whole thing from scratch.

      ``By comparison, again, we have MacOS X's system, which again just works''

      Define "just works". In what sense does OS X's display system "just work" more than X? Last I checked, code written for OS X's display system only worked on OS X. If you're lucky, it will work on multiple versions of OS X. Meanwhile, code written for yesteryear's X still works on today's X, and it can talk to X no matter of the operating system it runs on, and even to instances running on different machines. Sure, it is possible to come up with combinations of X and something that don't work. With OS X, there are very few combinations that _do_ work. But yes, if you find one, it will "just work". Just like if you find a combination of things that work with X, it will "just work".

      --
      Please correct me if I got my facts wrong.
    29. Re:So in other words by IntlHarvester · · Score: 1

      How much of the graphical user interface evolution on UNIX has been put back because the varying WMs and toolkits?

      For a very long time---and ending not so long ago---state of the art, cross-platform GUI toolkits on UNIX started and ended with Motif. That's horrible.

      This has more to do with Unix vendors abandoning the workstation market in the mid-1990s than it does with the technology itself. If X11/Motif had received that 10-15 years of continual improvement, the situation would be far better today.

      --
      Business. Numbers. Money. People. Computer World.
    30. Re:So in other words by wiredlogic · · Score: 2, Informative

      On MacOS X, it's just about impossible to get into a situation where a) video tears or flickers, or b) menus and windows can "rub out" other menus or windows (eg, you can't drag a window around like a giant eraser on Mac OS). On X+whatever, it's pathetically easy to do either. Windows is somewhere in-between the two.

      a) That is largely an issue of the video driver in use. Given the poor state of documentation on most video hardware these days it isn't difficult to understand why this might be happening. Back in the SVGA era you didn't see this happening because there was enough documentation of a standard interface to do things right. Some of this is server related as well. X was never designed to support opaque window moves. That has been grafted on in time.

      b) That is something that afflicts the X.org server. You don't see these sort of compositing flaws in commercial X servers. This is not a fundamental problem with X. Just a common implementation of the server.

      --
      I am becoming gerund, destroyer of verbs.
    31. Re:So in other words by wiredlogic · · Score: 2, Informative

      back when that actually was an intended purpose

      Lots of people still use X in its intended purpose. Many people in a corporate or academic environment who need to run X apps nowadays will run them on a server or compute cluster and have the display shown on their PC (Typically running Windows with Exceed or other server). Don't poo-poo that design feature just because you haven't made use of it. Everybody's hot to jump on the Citrix and VNC bandwagon these days to do what could be done with X 20 years ago.

      The performance issues you see from running remote apps largely stem from the abundance of eyecandy in modern window managers and applications that have to throw a lot of pixmaps across the network to get the job done. Before this was commonplace, remote apps worked as smoothly as a local one. Actually remote apps would be even faster in the days when typical X usage involved a low power, low memory workstation as the server. That model is what X was designed for. Most workstations would be brought to their knees with swapping if you tried to run a non-trivial application locally. It isn't fair to criticize an architecture developed in the 80's that was flexible enough to still be in use today even if some design decisions would be different in a clean architecture started now.

      --
      I am becoming gerund, destroyer of verbs.
    32. Re:So in other words by sarhjinian · · Score: 2, Interesting

      I think we said that: if you use Compiz or KWin, you don't get rub-out because all this is composited off-screen. (you might get tearing, if you don't have the right card and/or haven't precisely set up sync-to-blank). That's great.

      Now, if you turn on Compiz/KWin, you break tear-free video playback on some cards/drivers/versions. You might also break display of accelerated 3D in a window. That's not so great.

      Those of us who are complaining about tearing have probably forsaken Compiz/KWin+Compositing because we can stand a little rub-out versus video playback being shot. That you have to do this at all is kind of problematic, and the WORKSFORME (or, "get an nVidia card") attitude doesn't help. Even casual perusing of, say, Phoronix should tell you that this is a problem for a lot of people.

      --
      --srj/mmv
    33. Re:So in other words by Anonymous Coward · · Score: 0

      Nothing to do with the size of the machine it runs on. X Server should be the thing that does the rendering and X Client should be displaying it on the screen, instead the X Server is on the client and talks to clients on the server.

    34. Re:So in other words by octal_sio · · Score: 1

      I completely agree.

      However, that doesn't mean I think Quartz or whatever Windows uses is better. Some of the alternatives that are miles better, but unfortunately didn't catch on simply because they were a bit too late include Sun's NeWS and Plan 9's /dev/draw.

    35. Re:So in other words by serbanp · · Score: 1

      Despite your low slashdot ID, you're really confused regarding X(11) matters.

      X is just a protocol for network- and device-transparent way of dealing with graphical display and interacting with the pointer and keyboard. What the polygons on screen are and how they interact with the pointer are the job of a different piece of software, named "window manager". The fact that back in 1986 the designers at MIT did not deem that other piece to be critical may seem ridiculous to you but you benefit from a 20 years hindsight.

      IMNSHO, the only shortcomings of the original design were the lack of real-time and sound support, but again, this was 1986.

    36. Re:So in other words by JBdH · · Score: 1

      Everybody's hot to jump on the Citrix and VNC bandwagon these days to do what could be done with X 20 years ago

      This is a joke, right? I tried to run a X server over an ISDN phoneline 15 years ago and it was unusably slow. That was the time a found out a little progam existed that was called vnc. VNC wasn't fast, but workable.

    37. Re:So in other words by Kalriath · · Score: 3, Informative

      I'm dragging a Firefox window over a dead RDP session right now. It's erasing the contents of the window. I've never, ever managed to do that on MacOS X and not often on Windows Vista.

      For RDP that makes sense- compositing doesn't happen over Terminal Services. What normally happens on Windows, is that when the Window Manager (not Aero) detects that an application has stopped responding to WM_PAINT messages, it actually swaps out the window for a special one that looks just like the last known good copy of the windows display surface. If it can't for some reason, it just dumps a plain white window with loading cursor instead.

      That's actually intentional.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    38. Re:So in other words by timeOday · · Score: 1

      Thing I don't get is why so many guys have a hard-on for dissing X.

      I'll quit complaining after they finally get cut/paste working, which is to say, probably never.

    39. Re:So in other words by wiredlogic · · Score: 1

      X wasn't meant for use in low bandwidth, high latency applications. It's meant for use over a LAN. The X critics always like to trot out their special cases where usability falls to the floor. VNC's killer feature is compression of a protocol already designed for efficient use of bandwidth. X was designed to work with rudimentary, "stupid" servers which wouldn't have the resources (RAM primarily) for significant local caching of data, something that VNC exploits in its design. This necessitated some of the extra "verbosity" in X protocol. If you want you can use a compressed X protocol today to get a usability comparable to VNC over a low bandwidth link.

      --
      I am becoming gerund, destroyer of verbs.
    40. Re:So in other words by Anonymous Coward · · Score: 0

      The problem with X's client/server designation isn't that the terms are used in a backwards way, it's that the ENTIRE DESIGN of X itself is backwards.

    41. Re:So in other words by RCL · · Score: 1

      GP probably meant that "server" role for something that draws "client"'s output is inappropriate. Consider a typical 3D game: server is what executes the game logic, and client is what paints the screen. X has it backwards, forcing remote application take a client role and initiate the connection to it, that's weird and illogical.

      It would have probably make more sense if X had a server part running on the remote machine that executed the application and sent its output to a thin client part that would draw it. This way, implementing persistent sessions (e.g. changing X terminals while application is being run) would have been easier.

    42. Re:So in other words by inio · · Score: 1

      Neither. The client/server confusion comes from the use common with internet/web applications. The "client" is the piece the user interacts with and the "server" has the application logic. By that user-centric logic, however technically incorrect it may be, X's names ARE reversed.

    43. Re:So in other words by Schraegstrichpunkt · · Score: 2, Insightful

      By that user-centric logic, however technically incorrect it may be, X's names ARE reversed.

      Only in computers would you see people advocate for precise technical to be defined to be defined by non-experts.

      Nobody argues about what a "normal distribution" is, or what "adaptive chosen ciphertext attack" is, but if you talk about "client/server", now everyone has an opinion.

    44. Re:So in other words by steeviant · · Score: 1

      If you have to stack the deck to make a point why not just turn off the computer and say "Linux doesn't work at all".

      I could force Mac OS X into VESA fallback mode, or Windows 7 into GDI mode as well. I can't see any point in continuing to talk to someone so willfully ignorant that they deliberately hobble their computer to prove something to themselves.

      If you insist on running crappy old applications on unsupported hardware, the experience is going to continue sucking balls. In other news the sky is blue.

    45. Re:So in other words by IntlHarvester · · Score: 1

      Servers have a technical function, but they also have a business function. Try asking your boss for a $50K "application client" system and see how that goes.

      So while X might be techincally correct, it's nomenclature isn't exactly PHB-friendly.

      (Speaking of which, when is the last time anyone's deployed a large-scale distributed X11 application. Has to be 10-15 years.)

      --
      Business. Numbers. Money. People. Computer World.
    46. Re:So in other words by Stu22 · · Score: 1

      Thanks, now I understand. Not what you're explaining, I understand why everyone's confused by X.

    47. Re:So in other words by dave87656 · · Score: 1

      (eg, you can't drag a window around like a giant eraser on Mac OS). On X+whatever, it's pathetically easy to do

      I just tried it on Ubuntu 9.10. No eraser effect. In fact, I haven't seen that behavior in the last 10 years. Could it be that your information is a little out of date?

    48. Re:So in other words by dave87656 · · Score: 1

      The point is that while X is "an afterthought" and "badly designed"

      Kinda like multitasking on Windows. Okay, I know the current base is no longer DOS but NT, but the driver model is still single threaded to maintain compatibility. Or has that changed?

    49. Re:So in other words by cheesybagel · · Score: 1

      Quartz is based on NeXTStep Display Postscript. Probably the closest thing to NeWS in your list.

    50. Re:So in other words by Anonymous Coward · · Score: 0

      don't be a tool dude

    51. Re:So in other words by Mista2 · · Score: 1

      Again one of the reason I like OS X - nice gui, and if you need X11, you've got it included already, no messing around looking for a good thirdparty server to run on your desktop.
      "ssh -X user@host ApplicationName" is a super easy way to get applications running on large powreful servers, and get the gui down on my netbook or mac mini. I run Scribus on my server for desktop publishing, and I have an old Compaq n800c laptop, that it pittifully slow and old, but still has a nice 16" screen. This makes a perfect X11 server for my DTP needs. As long as I have network, I can work anywhere.

    52. Re:So in other words by icebike · · Score: 2, Interesting

      It is an afterthought in that it is stacked on top of the rest of the system rather than integrated

      Which, of course, is precisely why it has been able to survive, whereas display systems embedded in other platforms died with that platform.

      It is perfectly aligned with the best practices of unix, and a design largely retained by OSX (as if that confers any special blessing).

      There are as many performance gains to be realized by this method as there are drawbacks. With the advent of high performance GPUs, its only a matter of time before the entire X server is moved into the hardware on the video card, (where some say it belongs). Such compartmentalization would be harder if not impossible if it were embedded in the OS.

      You are also correct that any criticisms of the past are largely without foundation with current x servers, it has been optimized and extended more than any other component of the unix ecosystem.

      --
      Sig Battery depleted. Reverting to safe mode.
    53. Re:So in other words by flydpnkrtn · · Score: 1

      I think (bear with me here) that the "flipped terms" with client/server stem from the fact that to run an X application over the network, you first set up a local X server and allow a client (the application you're running) to connect to your local X server.

      This client application is actually running on a big honkin server across the hall that has a bunch of resources, and you're running your local X server on a puny desktop or thin client or wall wart or whatever.

      See how the terms get flipped around? You run a local server in order to run a client that in reality is processing 'stuff' on the remote server across the hall....

    54. Re:So in other words by Tellarin · · Score: 1

      (Speaking of which, when is the last time anyone's deployed a large-scale distributed X11 application. Has to be 10-15 years.)

      Last year. Oil and gas industry.

    55. Re:So in other words by Anonymous Coward · · Score: 0

      That's a matter of perspective. When looking at it in a "who's doing the drawing?" way, yes, you're right. But what people usually care is the actual, useful work. So, when my X server displays output from an app that's running something for me miles away, that app is the server, and I'm the client.

      Also, even though X receives these requests from the app, isn't it my request that first started the story? Isn't it my input thet gets sent over there, processed by that app, and then some output returned to me? The fact that the result of my requests are some kind of graphic commands that my local X "server" will execute is secondary.

    56. Re:So in other words by Anonymous Coward · · Score: 0

      > A server (or "service" if you like . . . oh just call it a daemon) -- waits for incoming connections and . . . well, it services them.
      > You simply cannot say that about applications which are running on a machine which may have no display of its own.

      The kicker is that people won't understand how you can have an FTP server or Web server that is also an X client!

    57. Re:So in other words by Anonymous Coward · · Score: 0

      Quartz is based on NeXTStep Display Postscript. Probably the closest thing to NeWS in your list.

      Sort of-- if by "based on" you mean "designed to do the same job." Quartz is actually a replacement for NeXTStep Display Postscript.

    58. Re:So in other words by IntlHarvester · · Score: 1

      Good to know, thanks.

      --
      Business. Numbers. Money. People. Computer World.
    59. Re:So in other words by Anonymous Coward · · Score: 0

      but in it's place comes

      "its".

    60. Re:So in other words by badkarmadayaccount · · Score: 1

      X.org+DRM+GEM+Mesa+KMS+GL/GLX/AIGLX+DRI/DRI2+UXA/EXA/XAA

      Gesundheit.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    61. Re:So in other words by BitZtream · · Score: 1

      For RDP that makes sense- compositing doesn't happen over Terminal Services.

      Just for reference, this is no longer true. The latest version of the RDP protocol does support compositing. You'll find this to be the case with RDP sessions to Win7 with the latest client.

      Now if they'd update the freaking Mac client to use the new protocol.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    62. Re:So in other words by Kalriath · · Score: 1

      I'd be happy if they updated the Mac client to support Terminal Services Gateway, and that's been out for years!

      I also note that Aero is only supported when the RDC client is running on Windows 7, even with compositing. Still.

      --
      For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
    63. Re:So in other words by mini+me · · Score: 1

      That is a strange way to think about client/server interaction. Even a web browser might execute some Javascript logic where the results are sent to a web server to generate a graphic. Does that mean in that case the web browser is the server and the web server is the client?

    64. Re:So in other words by mini+me · · Score: 1

      If the application is the server, and the display is the client, then a web browser running in X is a server. Does that make the HTTP server the client?

    65. Re:So in other words by mini+me · · Score: 1

      Quartz actually does not do the same job. You cannot execute Postscript code within it, for example. But Quartz does take many ideas from Display Postscript, including using a subset of Postscript features; those available within the PDF format. Maybe "inspired by" is a better way to put it.

  14. It's Chrome OS by selven · · Score: 0, Offtopic

    Google's main purpose in developing Chrome is currently as the browser in Chrome OS, so it's natural that they would optimize it for Linux.

    1. Re:It's Chrome OS by MBGMorden · · Score: 2, Informative

      This doesn't say it's optimized for Linux - it says that it runs well on *X11*. X11 is used on almost all Unix derivatives, not just Linux. Most importantly though, all indications are that while Google intends to use Linux (the kernel) for ChromeOS, they have made some statements that would indicate that they likely will not use X11.

      --
      "People who think they know everything are very annoying to those of us who do."-Mark Twain
    2. Re:It's Chrome OS by MrHanky · · Score: 1

      And you know this because? Oh, you're just wildly speculating and don't actually know anything at all.

    3. Re:It's Chrome OS by Youngbull · · Score: 1

      well... ChromeOS ~= google Chrome / Chromium, right? just add some way of running Chromium and your done!

    4. Re:It's Chrome OS by Anonymous Coward · · Score: 1, Insightful

      That logic makes significantly less sense than the fact that it's ultimately based on Konqueror, which was designed for X11 (and Linux) to begin with.

    5. Re:It's Chrome OS by MBGMorden · · Score: 2, Interesting

      No - ChromeOS is looking to be an actual honest to goodness OS built around the Linux kernel with a Google-developed graphics subsystem. They are mainly targetting it towards running their own web applications rather than bundling apps with it as is the case with most other OS's, so the only INCLUDED app might be Chromium, but all indications are that developers will be able to write/port other applications to the system if they desired.

      Personally I'm interested in seeing it. It's just an opinion, but most Linux distributions just have far too much legacy code and ways of doing things stacked on top of each other these days. I want an open source OS, but I think we kinda need to toss out a lot of what we currently use and start anew. Unfortunately it's not easy to do that without commercial backing, but Google pushing such an effort would really help things along.

      --
      "People who think they know everything are very annoying to those of us who do."-Mark Twain
    6. Re:It's Chrome OS by that+this+is+not+und · · Score: 1

      Apparently you want BeOS. Why not just dig up a CD copy of it and run with it?

      None of that nasty 'legacy' to get in the way of your fresh new look. And even a handful of applets to run, since there are almost no third party apps.

    7. Re:It's Chrome OS by MBGMorden · · Score: 1

      Actually I loved BeOS, and it was a PRIME example of how to do an OS right from a technical standpoint. If you compared BeOS to your average Linux distribution of the time you'd notice that BeOS literally ran friggen circles around Linux when it came to a desktop user experience. Alas, it doesn't meet the open source part of my statement (making it impossible to still maintain support on modern hardware), nor does it any longer have the commercial backing I mentioned.

      I AM anxiously following Haiku, but without the commercial backing, I think ChromeOS has a better shot at success - and with success comes good third party app support.

      --
      "People who think they know everything are very annoying to those of us who do."-Mark Twain
  15. windows 7 != vista by Anonymous Coward · · Score: 0

    win 7 does not copy to ram-backingstore afaict, so it should also be faster than vista...

  16. Leading statement by Anonymous Coward · · Score: 0

    Wheres the proof for the "If"?

    What if X isn't generally slower at all?

    What if generally it's faster but in a few cases slower? This, then would be one of the few cases where it is not slower.

  17. Re:Ummm... by selven · · Score: 0, Offtopic

    Compared to yours?

  18. To quote... by fsck! · · Score: 0, Offtopic

    Even a stopped clock is right twice a day.

    1. Re:To quote... by JustOK · · Score: 1

      bullshit. my digital clock stopped and now its never right.

      --
      rewriting history since 2109
    2. Re:To quote... by mjwx · · Score: 1

      Even a stopped clock is right twice a day.

      Tell that to my Casio, I'll let you know when we get to 88:88

      --
      Calling someone a "hater" only means you can not rationally rebut their argument.
    3. Re:To quote... by Anonymous Coward · · Score: 0

      Duh, it will be right on August 8th, 2088, (and 8/8/2188, and ...)

  19. Choosing the correct abstraction layer by FranTaylor · · Score: 5, Insightful

    If you choose your abstraction carefully, you can hide expensive details from user space.

    In the short term it may not gain you anything.

    But if the abstraction lives and thrives, then much can go on behind the scenes to improve the situation.

    Java is another example of this: they carefully designed the language so that it would be possible to make vast simplifiying assumptions and implement optimizations that really improve performance without impacting the "other side" of the wall. Originally java was slow, but hard work behind the scenes means that your java programs run much faster now, without any extra effort on the part of the application developer.

    X Windows is a great example of this. Originally we had dumb frame buffers with no acceleration at all. And yet X provides an abstraction that allows lots and lots of hardware optimizations to take place.

    The Windows and OSX abstractions for the display don't provide an API that allows these sorts of optimizations to be done behind the scenes. We have incredible display hardware with awesome features that go unused in these environments because the display abstractions do not allow for them.

    1. Re:Choosing the correct abstraction layer by Megane · · Score: 1

      The Windows and OSX abstractions for the display don't provide an API that allows these sorts of optimizations to be done behind the scenes. We have incredible display hardware with awesome features that go unused in these environments because the display abstractions do not allow for them.

      Or maybe they do provide the API, and the non-X11 branches of the code simply didn't use them because the guy writing the code didn't know how, and it hasn't been long enough for someone else to come around and fix it?

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    2. Re:Choosing the correct abstraction layer by FranTaylor · · Score: 1

      "it hasn't been long enough for someone else to come around and fix it?"

      It that is the case, then any such improvements are "tacked on" to the original design and by their very nature they are not going to be usable by existing programs, and they will not provide performance improvements to the system as a whole.

      That's not exactly my idea of a thoughtfully-designed system.

    3. Re:Choosing the correct abstraction layer by Anonymous Coward · · Score: 2, Interesting

      Java is another example of this: they carefully designed the language so that it would be possible to make vast simplifiying assumptions and implement optimizations that really improve performance without impacting the "other side" of the wall. Originally java was slow, but hard work behind the scenes means that your java programs run much faster now, without any extra effort on the part of the application developer.

      I'm not sure that's how I would characterize java myself. Something like this is closer to the mark: A mediocre design made optimisation of the VM rather hard (particularly in the face of concurrency). However after many years and some heroic effort, VMs are now available which can mostly mitigate the poor designs and perform well.

    4. Re:Choosing the correct abstraction layer by dkf · · Score: 1

      Or maybe they do provide the API, and the non-X11 branches of the code simply didn't use them because the guy writing the code didn't know how, and it hasn't been long enough for someone else to come around and fix it?

      It's difficult to write good drawing engine abstractions that work efficiently over both X11 and Win32 because the correct point to apply caches is different at the two levels of abstraction. IIRC, it's easier to start with something closer to the Win32 view and go to X11 (in an efficient way, of course; without efficiency then you can do anything you want) than the other way round, but I might be way wrong in this since I haven't done proper deep GUI work for a while now (a few years).

      OSX's basic drawing model has a lot in common with Win32, but the details are massively different. In many ways, OSX is more like display postscript...

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    5. Re:Choosing the correct abstraction layer by pak9rabid · · Score: 0, Flamebait

      X Windows is a great example of this. Originally we had dumb frame buffers with no acceleration at all. And yet X provides an abstraction that allows lots and lots of hardware optimizations to take place.

      Good enough that arguably the leading graphics vendor to support Unix (NVIDIA) had to do so by replacing massive portions of X11 to get it's hardware to perform acceptably due to the clusterfuck that is the X11 Direct Rendering Infrastructure (DRI). X11 has survived the test of time, but there is definitely lots of room for improvement.

    6. Re:Choosing the correct abstraction layer by jedidiah · · Score: 1

      > Originally java was slow, but hard work behind the scenes means that your java programs run
      > much faster now, without any extra effort on the part of the application developer.

      Yeah... that and the fact that instead of 100Mhz CPUs we now have 3Ghz CPUs.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    7. Re:Choosing the correct abstraction layer by MobyDisk · · Score: 2, Informative

      The Windows and OSX abstractions for the display don't provide an API that allows these sorts of optimizations to be done behind the scenes.

      That is not true. Windows GDI was designed for hardware acceleration. As an example: Circa 1998 I got an ISA Diamond Viper video card which performed orders of magnitude faster than comparable VESA cards because the drivers took advantage of the hardware rasterization. For example, dragging a window didn't redraw the window, it moved the bitmap from one place in video memory to another. Drawing/filling lines and shapes was absurdly fast because GDI offers primitives for those operations and the driver mapped those to the hardware functionality.

      Those same things happen today under Windows Vista, Windows 7, and OS X. That is a big part of why the driver model changed for Windows Vista/7: Microsoft wanted to expose even more layers through the video driver to permit those kinds of optimizations. X11 would have a hard time trying to do the Windows 7 alt-tab or OS X expose features where Windows move around in 3-dimensions on the screen. X11 doesn't expose that kind of stuff.

    8. Re:Choosing the correct abstraction layer by jedidiah · · Score: 2, Insightful

      Isn't DRI not so much a part of X11 as it was the original Linux "community" attempt to address the functionality that nvidia came by later and fixed?

      --
      A Pirate and a Puritan look the same on a balance sheet.
    9. Re:Choosing the correct abstraction layer by FranTaylor · · Score: 3, Insightful

      "X11 doesn't expose that kind of stuff."

      I'm not talking about the stuff that is exposed. I'm talking about the things that are NOT exposed. X11 runs great over the network because of all the things that they chose to NOT allow the user to do.

      Sure you can accelerate bit-blitting, that is really old school.

      Take a look at the fundamental model. When you move a window in Windows, the app is notified and it has to respond. Try moving the window of an unresponsive app, it does not redraw because Windows is asking the app to redraw it. When you move the window of an unresponsive app in X, the window redraws because X already knows what it needs to know about redrawing the window without having to make a trip back to the application.

      Those are the kinds of things that you DON'T expose. That way the driver and hardware are free to implement them as they see fit.

    10. Re:Choosing the correct abstraction layer by caseih · · Score: 1

      You don't know what you're talking about. With the indirect rendering architecture in X11 right now, everything that Windows 7 does can or could be done with Compiz (if someone wanted to implement the effect). X11 provides the "stuff" to do all of what Window 7 does. Have you seen the ring-style switcher in compiz-fusion[1]? It uses major 3D-looking transformations. I use it daily. Kind of a clone of Apple's coverflow, but for switching windows. X11 indeed exposes "that kind of stuff." Before you spread this kind of nonsense about X11 in the future, please at least read up on the stuff.

      There are indeed a lot of perceived and real issues in modern X11 desktops. Compiz helps with this as it reduces the redraws and makes things seem a lot smoother. Another common problem is that sync X11 events are asynchronous, as you resize a window, the interior widgets often lag behind in their redraw. I understand some time back there was work being done on a way to synchronize the redraws so that widgets in a window expand smoothly (like MS Windows and OS X does).

      [1] http://www.youtube.com/watch?v=BEUf8BQB-YA

    11. Re:Choosing the correct abstraction layer by dpilot · · Score: 4, Interesting

      X itself is undergoing incredible levels of development and improvement. Way back when, "The Open Group" tried to say that X was "complete" with X11R6, and no more development was needed, though somehow defects and omissions let numbers start creeping in after the decimal point. IIRC it got to somewhere in the X11R6.3-X11R6.5 range. Then XFree86 took over, ramping up some innovation, though still slower than many liked. After that X.Org took over, decided it was high time for X11R7, (They did X11R6.9 as a stage to get there.) and things started moving faster.

      At this point, they're redrawing the lines (KMS, DRI/DRI2, DRM) between kernel and user space to (hopefully) get a better balance speed and stability/security. They've pretty much reworked the 2D acceleration (*XA) and are reworking the 3D acceleration (Gallium3D) which will also simplify driver development. The inteface has been reworked down near the protocol level (xcb) to improve speed and memory usage. One thing I've heard talk of is "inverting" the stack to put all primitives on top of the 3D hardware, since that's where most of the hardware performance work has been done.

      The next 6-12 months will be very interesting for X-Windows, but then again, the past few years have been interesting, too.

      --
      The living have better things to do than to continue hating the dead.
    12. Re:Choosing the correct abstraction layer by JasterBobaMereel · · Score: 5, Informative

      No X11 can do Windows 7 and Vista and OSX expose features ... and does so .....

      The whole point is that X11 does not draw Windows it draws tiles ... Window Managers draw windows ... and they can draw 3d glass dancing Windows on X11 without X11 caring about it ...

      On Windows the layers are Driver - GDI - Application
      On X11 the layers are Driver - Kernel - X11 - Window Manager - Application (there may be more ...)

      The point is that you do not need to Expose the low level stuff to the application. .. just to the window manager, the application should not have to worry about redrawing itself, or resizing the window etc... it should let the window manager worry about that

      --
      Puteulanus fenestra mortis
    13. Re:Choosing the correct abstraction layer by knarf · · Score: 3, Informative

      X11 would have a hard time trying to do the Windows 7 alt-tab or OS X expose features where Windows move around in 3-dimensions on the screen. X11 doesn't expose that kind of stuff.

      Uhhhh... have you seen Compiz, Beryl, Metisse, Gnome-Shell or any of the other whiz-bang screen-flipping and warping and cubing desktops? They do run X11 apps... through an X11 extension, be it AIGLX or XGL or something similar. X11 exposes whatever you want through the use of extensions, including the stuff needed to do 3D window manipulation. It did this when Vista was still Longhorn, let alone Windows come lately annex 7...

      --
      --frank[at]unternet.org
    14. Re:Choosing the correct abstraction layer by Chester+K · · Score: 1

      Take a look at the fundamental model. When you move a window in Windows, the app is notified and it has to respond. Try moving the window of an unresponsive app, it does not redraw because Windows is asking the app to redraw it.

      Windows has had a retained-mode graphics system for the past 3 years as long as you don't disable desktop composition.

      --

      NO CARRIER
    15. Re:Choosing the correct abstraction layer by Blakey+Rat · · Score: 1

      Take a look at the fundamental model. When you move a window in Windows, the app is notified and it has to respond.

      How about you use a modern version of Windows and then come back?

    16. Re:Choosing the correct abstraction layer by ToasterMonkey · · Score: 1

      The Windows and OSX abstractions for the display don't provide an API that allows these sorts of optimizations to be done behind the scenes. We have incredible display hardware with awesome features that go unused in these environments because the display abstractions do not allow for them.

      GDI, QuickDraw, and Quartz2D are all hardware accelerated, and you'll even find GPU acceleration in frameworks above those (the functionality provided by such should embarrass X11 desktops), all the way to the compositing systems (yet again an embarrassment for X11 based cousins). How can you POSSIBLY think X11 can be optimized for underlying hardware in a way Windows/OS X analogs can't? Or that display hardware is underutilized in Windows and OS X compared to ..... X11 DESKTOPS? The complete opposite is true with 3d accelerator cards everywhere today. You have to use window manager hacks to get any extra utility from these cards at all on a X11 desktop, where newer versions of Windows and OS X have hardware/GPU accelerated rendering and compositing APIs. Where are those in X11?

      Now, I can't even imagine what you had meant by "behind the scenes", or why that sounds like such a good thing to you.. sometimes change is good. In this case, it wasn't necessary for non-X11 rendering systems to utilize hardware acceleration, but GPU acceleration for one thing necessitates new APIs. X11 has outlived most of its usefulness, look at flow diagrams for X w&wo DRI, it's pretty obvious. RDP does a better job at remoting a GUI than X on the same networks - with kerberos authentication, and encryption... and sound forwarding. Wake up and smell the roses.

      I'm going to read stackoverflow.com from now on. This place is getting a tad stale :\

    17. Re:Choosing the correct abstraction layer by ToasterMonkey · · Score: 1

      Take a look at the fundamental model. When you move a window in Windows, the app is notified and it has to respond. Try moving the window of an unresponsive app, it does not redraw because Windows is asking the app to redraw it. When you move the window of an unresponsive app in X, the window redraws because X already knows what it needs to know about redrawing the window without having to make a trip back to the application.

      Errr.. what? You can move windows without them redrawing, but if you resize it or cover portions of it, it will need to be redrawn. This is no different in X11, AFAIK. The only way around that are compositing systems, such as Compiz.

    18. Re:Choosing the correct abstraction layer by Bigjeff5 · · Score: 1

      Since those X11 extensions are hacks onto X11 to enable such exposure, I'd say the GP is right. X11 doesn't expose that kind of stuff.

      If what you say were true, NVIDIA would not have had to hack the hell out of X11 to get decent 3d performance out of it.

      I've used Compiz and Beryl, they both crash regularly and slow my laptop significantly (a couple years old, but runs Vista just fine). Gnome-Shell looks ok, but it isn't exactly out yet (you can get a preview from live.gnome.org) so it's hard to compare it. Metisse looks more like a "neat toy" than anything else, but I'm sure some people would find it useful, and if it is designed for flexibility then apps designed specifically for it could be quite powerful. Nothing I've used is as polished as Vista, or even XP, and not even close to OSX (OSX has the best desktop I've used, but I have a number of other reasons for not owning a Mac).

      Beryl may have been around when Vista was still Longhorn, but in all this time it has still not managed to be a stable compositor, and most of its features aren't that useful (the 3d cube, my favorite feature, is useless beyond the "neato" effect).

      --
      Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
    19. Re:Choosing the correct abstraction layer by ToasterMonkey · · Score: 1

      Compiz is cute and all, but Windows & OS X both provide GPU accelerated frameworks to applications in addition to a compositing system wheres compiz does GPU accelerated window dressings. API? Wot API?

      With the indirect rendering architecture in X11 right now

      Using compiz to say X11 has an 'indirect rendering architecture' is just a tad extreme. Oh, but hey, this is /. of course, and it's the year of Linux on the desktop or something..

    20. Re:Choosing the correct abstraction layer by ToasterMonkey · · Score: 1

      X itself is undergoing incredible levels of development and improvement. Way back when, "The Open Group" tried to say that X was "complete" with X11R6, and no more development was needed, though somehow defects and omissions let numbers start creeping in after the decimal point. IIRC it got to somewhere in the X11R6.3-X11R6.5 range. Then XFree86 took over, ramping up some innovation, though still slower than many liked. After that X.Org took over, decided it was high time for X11R7, (They did X11R6.9 as a stage to get there.) and things started moving faster.

      At this point, they're redrawing the lines (KMS, DRI/DRI2, DRM) between kernel and user space to (hopefully) get a better balance speed and stability/security. They've pretty much reworked the 2D acceleration (*XA) and are reworking the 3D acceleration (Gallium3D) which will also simplify driver development. The inteface has been reworked down near the protocol level (xcb) to improve speed and memory usage. One thing I've heard talk of is "inverting" the stack to put all primitives on top of the 3D hardware, since that's where most of the hardware performance work has been done.

      Read your second paragraph again and tell me The Open Group wasn't on to something and you should've left it as is while writing a better rendering system from scratch.
      But nooooooo, no Linux userland (or otherwise) API can be stable, stable is all ooold and smeeely.

    21. Re:Choosing the correct abstraction layer by markbthomas · · Score: 1

      ... except that the application does have to worry about drawing itself.

      Unless the app wants to look like something from 1987, it has to render all its own controls, icons, heck it even has to open the true-type font file, load the true-type interpreter, rasterise all its own font strings and send them as bitmaps to the X-server over a socket. There's so much stuff on the client-side, it's completely braindead. Just think how many times your computer loads bitstream-vera-sans.ttf. How many times should it load it? How many times does libgnome load its gnome icon cache?

      Someone needs to make an XGTK extension that puts GTK object rendering in a module in the server. Then the client only needs to worry about making remote GTK objects. For example, gnome-calculator could make a display object, a dozen button objects, and register for clicks. Then all the gnome-calculator *process* needs to worry about is doing sums. It should be helloworld.c in size, not 128 KiB.

      The good news is this could be done relatively easily within X's framework. The bad news it, no-one seems to care about fixing it.

    22. Re:Choosing the correct abstraction layer by MobyDisk · · Score: 1

      Someone needs to make an XGTK extension that puts GTK object rendering in a module in the server.

      So long as it is optional. If it isn't present, then I should still be able to run GTK apps, just more slowly.

    23. Re:Choosing the correct abstraction layer by dpilot · · Score: 1

      Legacy problems.

      I'd love to see X12 come along and clean everything up... as long as it has and X11 shim so I can run my old stuff that has no X12 version, yet.

      Years back, I was participating in the OBERON2 discussions on Usenet. I had a very simple question: "How can I deal with legacy binary data in Oberon2?" In Modula2, or at least the variations of Modula2 that I used, there were facilities for picking apart bits and bytes, and I made good use of them. The answer from the Oberon2 people was laughable, "Tell your coworkers to quit using those legacy tools and start using Oberon2 versions." We all know how well that worked out.

      --
      The living have better things to do than to continue hating the dead.
    24. Re:Choosing the correct abstraction layer by spitzak · · Score: 1

      Yes this is still true with Windows 7.

      If a program does not call the event processing function then nothing happens when you try to raise or move the window.

      I personally don't see the real problem with this, I think X11's separate window manager is a mistake. Programs should be responsible for drawing their own window borders and resizing windows (consistency is done by the toolkits). It would mean that if a program hung you would be unable to raise or move windows on X11 as well. I don't see this as being much worse than the current behavior where you can raise/move them but they don't redraw so the exposed portions are garbage.

    25. Re:Choosing the correct abstraction layer by spitzak · · Score: 1

      Compiz IS EXACTLY THE SAME THING as Windows backing store and compositing window managers that allow the windows FROM DIFFERENT APPLICATIONS to be transparent and stack so you can see through them, and also so that redraws are unnecessary. I'm not sure why you think it has something to do with GPU acceleration. They are completely separate issues on both WIndows and X. You certainly can run Compiz or Windows compositing without hardware acceleration (it might be slow but it is not physically impossible).

      And the link you provided says exactly the answer: the GPU accelerated API is OpenGL. It is not Compiz, any more than you use the window compositing on Windows to draw acclerated 3D in your game.

      You really should get clear on what is happening rather than trying to act like you know stuff and proving you are an idiot.

    26. Re:Choosing the correct abstraction layer by SpinyNorman · · Score: 1

      One thing I've heard talk of is "inverting" the stack to put all primitives on top of the 3D hardware, since that's where most of the hardware performance work has been done.

      Or just forget about the X primitives and use OpenGL instead. If you use Qt then you can do this already since Qt supports OpenGL as a drawing engine as an alternative to X.

    27. Re:Choosing the correct abstraction layer by Guy+Harris · · Score: 1

      The Windows and OSX abstractions for the display don't provide an API that allows these sorts of optimizations to be done behind the scenes. We have incredible display hardware with awesome features that go unused in these environments because the display abstractions do not allow for them.

      So what are some of those awesome features?

    28. Re:Choosing the correct abstraction layer by dpilot · · Score: 1

      Don't you still need X for network transparency? Isn't that then GLX?

      --
      The living have better things to do than to continue hating the dead.
    29. Re:Choosing the correct abstraction layer by Blakey+Rat · · Score: 1

      Yes this is still true with Windows 7.

      If a program does not call the event processing function then nothing happens when you try to raise or move the window.

      Maybe if the program is running in some compatibility mode (there are several). I've yet to see this behavior on my machine. What happens for me is that Windows will "grey-out" unresponsive windows, but they can still be moved/focused/etc.

    30. Re:Choosing the correct abstraction layer by rrohbeck · · Score: 1

      X11 would have a hard time trying to do the Windows 7 alt-tab or OS X expose features where Windows move around in 3-dimensions on the screen. X11 doesn't expose that kind of stuff.

      I have a feeling that you haven't used Compiz. I'll admit that I'm no Windows 7 user, but no Windows 7 desktop effect looked new to me.

    31. Re:Choosing the correct abstraction layer by Anonymous Coward · · Score: 0

      Mac OS X's Quartz Compositor from 2001 and in fact NeXTstep's Display Postscript from 1988 worked in the same way. Window drag happens entirely in the window server without any interaction from the application. Niether NeXT nor Mac OS X has ever suffered from the visual "turds" that I still get every time I minimize an Outlook window while Outlook is busy downloading or searching my mail and therefore doesn't repaint.

      MS Windows is still broken in this regard.

    32. Re:Choosing the correct abstraction layer by Anonymous Coward · · Score: 0

      >> On X11 the layers are Driver - Kernel - X11 - Window Manager - Application (there may be more ...)

      Wrong: on X11 the layers are just Hardware-X11-Application

      The Xserver doesn't need to use any kernel driver except for changing resolution modes.
      In fact, when the X server starts it maps all the graphic card's memory in it's own memory space using mmap()
      including a special memory addresses used the send commands to the graphic card hardware.
      After doing this, the X server has direct access to the graphic card without having to use any kernel system call.

      Also X applycations deal directly whit the X server and don't have to deal with the window manager except when they
      want to resize/minimize/maximize/sticky a windows.

    33. Re:Choosing the correct abstraction layer by Anonymous Coward · · Score: 0

      This is only true if you go out of the way to disable the functionality.

      Perhaps you didn't like the glass window borders, and instead of changing the scheme you disabled the DWM. Or maybe you're running over a remote desktop or some sort of VM where composition is removed because of network latencies.

      This does not happen in Windows. The only way to make it happen since Vista, is either to disable the DWM, or to have an application subvert window composition.

    34. Re:Choosing the correct abstraction layer by Anonymous Coward · · Score: 0

      There actually are plans for X12.

    35. Re:Choosing the correct abstraction layer by Anonymous Coward · · Score: 0

      The reason that nvidia doesn't use DRI and all that is that this allows them to share massive amounts of Code with their drivers for other OSs, and not that DRI is somehow broken.
      http://www.phoronix.com/scan.php?page=article&item=nvidia_qa_linux&num=1

    36. Re:Choosing the correct abstraction layer by spitzak · · Score: 1

      Possibly, this was tested with a program using the Win32 API.

      It does seem an easy fix would be for the system to detect that there is no response for about 1 second and then make the window move. Not sure why they bothered to gray out the window and why they can't get all the APIs.

    37. Re:Choosing the correct abstraction layer by spitzak · · Score: 1

      Even in Win93 backing store worked and the contents of the window were preserved if you moved other windows over it.

      What I am talking about is the inability to resize, move, or raise the window of a program that is not calling the get-next-event api in WIN32.

      I suspect the clams that this is fixed is due to .net using two threads, one of which keeps handling events. Or using some other API than WIN32.

    38. Re:Choosing the correct abstraction layer by the_enigma_1983 · · Score: 1

      I realise that what you say is how things worked for you, but on my old laptop (integrated Intel 945GMA, 1.6GHz single core cpu, 1.5GB RAM), compiz ran fine. I could do all the snazzy 3d effects, and I had no noticable slowdowns, and rarely if ever saw a crash.

      I'm not sure what features are lacking from compiz when compared to OSX or Vista/7, but I find the application switchers, expose/desktop wall and window previews to be very useful, and these are things I've been using for a number of years now.

    39. Re:Choosing the correct abstraction layer by Eil · · Score: 1

      As a Linux user for 13 years, I have to say that the greatest improvement in X over that time period is: I don't have to fuck with it anymore.

      I became something of an unwilling expert on XFree86.conf and xorg.conf. Nowadays, I never have to touch it. And if I did try to touch it, I wouldn't know what to do since so much of it has changed or is automagically managed now.

      And that's the way it should be.

    40. Re:Choosing the correct abstraction layer by Blakey+Rat · · Score: 1

      More likely, Microsoft is just counting on the (probably naive) hope that eventually the developers of the unresponsive software will fix their goddamned bugs, and it'd work correctly in the first place. Either way, I don't see it as Microsoft's job to make buggy software look less buggy... it's not like Windows is impatient when waiting for a response, it gives you like 10 full seconds.

    41. Re:Choosing the correct abstraction layer by Anonymous Coward · · Score: 0

      You've never actually tried to run X11 over the network, have you?

    42. Re:Choosing the correct abstraction layer by spitzak · · Score: 1

      No I can't blame them for not fixing this. What I can blame them for is not allowing me to make it possible to click without raising a window. It is obvious that it is physically possible as this is exactly what happens when the program does not respond, but all attempts to actually see the click (and I tried a lot) caused the window to raise.

      If they did this then the Windows API would be better than X. As it is, I can still find X window managers that correctly do not raise on click (though Gnome is completely fucked up).

      It does sound like it is libraries. A program running mulitple threads where the user code is in a different thread would not have this problem. Possibly that is where the reported gray windows are coming from.

    43. Re:Choosing the correct abstraction layer by SpinyNorman · · Score: 1

      Yes, OpenGL on X is GLX which does bring the X benefit (and overhead) of network transparency to OpenGL. Qt also provides the OpenGL paint engine on other platforms where it's direct. But GLX has nothing to do with the XLib drawing API - it's just OpenGL which hopefully will be hardware accelerated at the server, so it does invert the graphics stack and put your (Qt) primitives on top of the 3-D accelerated API as was being discussed.

    44. Re:Choosing the correct abstraction layer by Wyzard · · Score: 1

      Since those X11 extensions are hacks onto X11 to enable such exposure, I'd say the GP is right. X11 doesn't expose that kind of stuff.

      They're not hacked on, you're just misunderstanding what the word "extension" means in X11 terminology. X11 extensions are named groups of commands that an X server can optionally implement. The core X protocol includes commands for checking what extensions are available, so that applications can use those additional commands when they're supported, or work around the lack of them (or just display an error message) if not.

      This is a designed-in extensibility mechanism, not some afterthought kluge. Many "standard" facilities are provided through X11 extensions, such as displaying anti-aliased text (with the RENDER extension, though it can also be done in a slower way if RENDER isn't available), overlay-based video playback (with the XVideo extension), changing screen resolutions (RANDR), turning off the monitor to save power when idle (DPMS), and OpenGL (GLX).

      OpenGL, by the way, has a similar extension mechanism, and that's what allowed it to support new GPU features (such as multitexturing and pixel shaders) as they were developed, without requiring a whole new version of the core OpenGL spec.

      Desktop compositing in X11 is done by asking the X server to give each window an offscreen area of video memory to draw itself into, rather than drawing directly on the screen, and then asking the OpenGL implementation to make these offscreen areas accessible as OpenGL textures. The compositing manager paints the windows onto the screen by putting these textures on rectangles, applying whatever visual effects it wants to display (like the Compiz cube), using normal OpenGL drawing operations. The command to make the X server redirect window drawing to offscreen pixmaps is provided by the COMPOSITE extension, and exposing those pixmaps as OpenGL textures is done with a GLX command, GLX_EXT_texture_from_pixmap.

      I've used Compiz and Beryl, they both crash regularly and slow my laptop significantly (a couple years old, but runs Vista just fine). Gnome-Shell looks ok, but it isn't exactly out yet (you can get a preview from live.gnome.org) so it's hard to compare it.

      If Compiz is unstable, that's an application bug that doesn't really have anything to do with the design of X11. The compositor in Metacity (the GNOME window manager) is pretty stable (I've been using it for several years), and its scenegraph-based successor (called Mutter) is the foundation for Gnome-Shell.

    45. Re:Choosing the correct abstraction layer by Blakey+Rat · · Score: 0, Flamebait

      I find it interesting that you declare "raise on click" to be "incorrect." You don't even pretend that it's a matter of opinion, or concede that the earliest successful GUIs all did raise on click.

      Microsoft doesn't "fix" it because it's not a bug.

      It does sound like it is libraries. A program running mulitple threads where the user code is in a different thread would not have this problem.

      A.K.A. a buggy program.

      It's not Windows' fault if a program locks-up its UI thread. Programmers have to at some point be responsible for what happens in their program.

    46. Re:Choosing the correct abstraction layer by Wyzard · · Score: 1

      You have to use window manager hacks to get any extra utility from these cards at all on a X11 desktop, where newer versions of Windows and OS X have hardware/GPU accelerated rendering and compositing APIs. Where are those in X11?

      By "window manager hacks" you mean switching to a compositing window manager like Compiz, right? What Compiz (or any compositing manager) does is not really very different from what its counterparts in Windows and OS X do. What you're complaining about is the fact that X11 allows a choice of window managers, and not all X11-based desktops use a compositing one yet, as opposed to the Windows and Mac platforms where there's essentially only one window manager available (it's built-in) and it's a compositing one.

      As for new APIs, not really. Applications don't have to do anything different to display themselves on a composited desktop instead of a non-composited one. All the work for that is done by one program, the compositing manager, and the X enhancements needed to make its job possible (a new X11 protocol extension and a new GLX extension) were implemented in Xorg several years ago.

      At this point, the lack of out-of-the-box compositing on Linux desktops is due mostly to accelerated 3D drivers (for the most common GPUs) not being installed by default for licensing reasons, not some fundamental problem with X.

    47. Re:Choosing the correct abstraction layer by Dreadrik · · Score: 0

      Actually, one of the bad things about Vista was that GDI acceleration was removed when introducing Aero. Vista windows draws into a system memory buffer, which is later copied to video memory, thus removing the possibility for GDI acceleration and increasing the memory footprint.
      The only hardware accelleration in Vista was for the 3D effects.

      This was fixed a bit in Windows 7, by removing at least one of the system memory buffers and reintroducing hardware accellerated GDI.

    48. Re:Choosing the correct abstraction layer by Haeleth · · Score: 1

      Beryl may have been around when Vista was still Longhorn, but in all this time it has still not managed to be a stable compositor

      Have I somehow gone back in time and started reading an ancient Slashdot discussion? In my timeline, Beryl is an old experiment that was officially discontinued several years ago.

      And Compiz is perfectly stable and runs very smoothly even on netbook hardware.

    49. Re:Choosing the correct abstraction layer by JasterBobaMereel · · Score: 1

      ...this is exactly what Windows GDI does as well ....it's just the GTK toolkit is awful ...

      The API Toolkits on top of the GDI simplify this for you but they are just toolkits on top of the actual API (just like GTK) the GDI can only render the standard window decorations (and their appearance are not under your control) all the standard buttons etc are either the standard dialogs drawn by the toolkit and not properly under your control or self drawn, in the same way as same as directly accessing the X API...

      If you think the standard GTK+ control looks like "something from 1987" then you are running a copy of GTK from 1987! (which is a good trick since GTK was not around then) they "can" look good (many don't)

      --
      Puteulanus fenestra mortis
    50. Re:Choosing the correct abstraction layer by yuhong · · Score: 1

      IIRC it got to somewhere in the X11R6.3-X11R6.5 range.

      I think it got up to X11R6.6.

      Then XFree86 took over, ramping up some innovation, though still slower than many liked. After that X.Org took over

      Which was a different story altogether that started with a licensing change that made it GPL-incompatible. I think it was the adding of a BSD-style attribution clause. GPLv3 finally fixed this incompatiblity, but by then it was too late, though XFree86 4.7 was released soon after GPLv3 was released.

    51. Re:Choosing the correct abstraction layer by dpilot · · Score: 1

      I dunno. I got to be pretty decent at xorg.conf, too. I didn't like it either, at first. But recently on Gentoo they changed input handling from xorg.conf over to HAL, and that stuff is even worse. You fix problems by editing strings of XML that you get from experts in some forum or other. Those strings look like perfectly proper solutions in hindsight, but I generally have no idea whatsoever how to get there, not having seen the answer first.

      "Just Works" is a great idea, as long as it just works. Too often when "Just Works" doesn't, it also fights your attempts to solve the problem yourself. I don't mind if xorg.conf can go away for the simple cases, I just like to have the capability around for when I really need it. Yes, I've had to use custom modelines, TV-out, multi-display, and those other oddities that at various times haven't been handled by the "Just Works" tools. To be sure, those tools are getting better, but they're still not 100%, and you'd still like to be able to fix a borked system from text mode.

      --
      The living have better things to do than to continue hating the dead.
    52. Re:Choosing the correct abstraction layer by spitzak · · Score: 1

      I find it interesting that you declare "raise on click" to be "incorrect." You don't even pretend that it's a matter of opinion,

      The reason it is incorrect is because THE PROGRAM CAN RAISE ITSELF IN RESPONSE TO A CLICK. Therefore a program can decide whether or not to raise the windows.

      In addition this would remove a great deal of complex "child" and "layer" relationships that need to be communicated to the system, since the program can decide exactly what subset of windows to raise, thus simplifying the api considerably.

      or concede that the earliest successful GUIs all did raise on click.

      Yes, this was in X10 and was removed in X11 because they realized it was a mistake. That was in 1985 or so. Shameful that programmers forget.

      It's not Windows' fault if a program locks-up its UI thread.

      Excellent reading comprehension, there! I agree fully it is not Window's fault, and that X's ability to move/resize the windows but not redraw them is not any better.

  20. Not trying to troll here... by MikeRT · · Score: 2, Interesting

    But the 4.X beta runs incredibly fast on my dual core Windows workstation. If the Linux version is significantly faster in rendering, I would be very surprised.

    1. Re:Not trying to troll here... by TheModelEskimo · · Score: 1

      The 4.X beta on the same hardware? Why don't you just get a live CD and try it? I'm on an Ubuntu Q8300 quad-core with 8GB RAM and even I can tell that, for whatever reason, Chromium is *much* faster than even Opera (to say nothing of Firefox) on my system. It's got its annoyances, but when I need to do Youtube or Slashdot or anything else that Firefox convinces me is "intensive," I switch over to Chromium where I have like 20 tabs open and things fly. So I'm not surprised somebody is bringing this up. It's very fast.

  21. Memcpy not the biggest problem for chrome/chromium by iamsquicky · · Score: 5, Interesting

    I'm pretty sure that the biggest slowdown for Chrome isn't the memcpy/bitblitting for the display - it's probably something to do with the insanely big history files it generates as part of it's searchable history.

    Files you can't limit in size, can't compress, can't optimise. Instead all you can do is to delete them and loose all your precious history information.
    It also has the bonus of providing a searchable address bar that performs significantly worse than firefox's searchable address bar !

    I use both firefox and chrome simultaneously at home and at work, dedicated each browser for different tasks I do. It's a real shame that Chrome is being seriously degraded over time by this fault - I've started switching back to firefox because of it as my laptop just struggles too much with it now...

  22. Re:Ummm... by Henry+V+.009 · · Score: 2, Funny

    Yeah, at least the first one was succinct.

  23. Re:Even if X is usually slower... by Anonymous Coward · · Score: 0

    What a bunch of incoherent nonsense. Are you one of those college computer experts I've heard so much about? Also, who the hell thumbed your post up...

  24. So, X11 gotta suck? The point? by Ilgaz · · Score: 2, Informative

    If you can take risk of re-compiling every X related app/library in case you give up in future, try the semi official/unofficial at http://xquartz.macosforge.org/ , it is newer than the Apple bundles. Install anything with the help of Fink/Macports like Konqueror from KDE 3 and see the amazing GUI speed, scroll speed, widget drawing speed.

    I don't understand, as an OS X user, why a modern x.org on a good, supported hardware should be surprising to give better results. Also remember the insane things x.org has to do on OS X like using Aqua layer.

  25. X11 is not bloated by dvh.tosomja · · Score: 5, Interesting

    X11 is not bloated nor slow, GTK is both. Put 100 or so spinedits on one form in Win32 and in GTK. On netbook or anything other than quadcore machine, you will see significant difference in speed. And it is not because of the graphics. Sometimes I think GTK render fractals somewhere just to keep processor busy. Meanwhile, when I draw 100 spinedits using only cairo, it is almost as fast as Win32 while giving the same output as GTK including shadows, gradients, etc... I've being noticing this GTK behavior since forever.

    GTK folks, please fix it.

    1. Re:X11 is not bloated by pe1rxq · · Score: 1

      GTK folks, please fix it.

      Have you tried posting your test to the gtk mailinglist?
      I am sure they would love a nice objective testcase like that.....

      --
      Secure messaging: http://quickmsg.vreeken.net/
    2. Re:X11 is not bloated by Anonymous Coward · · Score: 0

      "blah, blah blah, I'm retarded and have no clue what I'm on about, blah blah blah."

      You obviously chose your nickname well.

    3. Re:X11 is not bloated by Anonymous Coward · · Score: 0

      LOL. You're a certified MCSE, am I right or am I right?

    4. Re:X11 is not bloated by drsmithy · · Score: 1

      Most (all now?) graphics cards are hardware accelerated for the Windows GDI, for things like drawing fonts, arcs, ellipses, fills, etc.

      All *now* ?! They'd stopped selling video cards without 2D acceleration back when clock speeds were still measured in double-digit _Mhz_.

    5. Re:X11 is not bloated by Anonymous Coward · · Score: 0

      "certified MCSE" is a tautology, given the C stands for "certified". "You're an MCSE" would suffice.

    6. Re:X11 is not bloated by MobyDisk · · Score: 1

      Same problems happens with WPF on Windows. Yes, it is slower because it does anti-aliasing and all that. But just create 400 buttons in code, and never draw it to the screen. It's absurd.

    7. Re:X11 is not bloated by TheRaven64 · · Score: 1

      Most (all now?) graphics cards are hardware accelerated for the Windows GDI, for things like drawing fonts, arcs, ellipses, fills, etc.

      No they aren't. They were in the '90s, and things like this were commonly offloaded. For almost a decade, doing this on the GPU has been slower than on the CPU due to the extra command overhead (drawing lines can be done incredibly fast on a modern CPU) and the newer X11 and Windows driver models don't offload them at all. X11 drivers and Windows drivers both used to take advantage of this acceleration, but they don't anymore.

      --
      I am TheRaven on Soylent News
    8. Re:X11 is not bloated by Melibeus · · Score: 1

      "certifiable MCSE", there fixed that for you. No longer a tautology.

  26. No NTLM, no Respect by KWolfe81 · · Score: 1, Troll

    Until Chrome starts supporting NTLM, I know it will not get any respect at my firm, and likely many others....

    1. Re:No NTLM, no Respect by ChienAndalu · · Score: 1

      You want a browser to be a file manager? How odd.

    2. Re:No NTLM, no Respect by rpgdude · · Score: 0

      Until Chrome starts supporting NTLM, I know it will not get any respect at my firm, and likely many others....

      Until NTLM starts supporting some real security, I doubt it will be included in Chrome. I know NTLM will not get any respect until it implements a decent security model.

    3. Re:No NTLM, no Respect by kamochan · · Score: 1

      As long as your firm keeps requiring NTLM, I know it will not get any respect in mine, and likely many others...

      We'll gladly take your money, though.

    4. Re:No NTLM, no Respect by Anonymous Coward · · Score: 0

      Fuck I spent 8 mod points and then the goddamned slashdot javascript shit decides to freeze up my browser while I'm clicking on it, leading me to click several times in frustration and the wrong damn click getting through.

      Sorry dude.

    5. Re:No NTLM, no Respect by Guy+Harris · · Score: 1

      You want a browser to be a file manager?

      No, he wants it to be a browser that supports NTLM Authentication for HTTP. The "LM" in "NTLM" nonwithstanding, it's used for more than just SMB.

  27. Chrome - Webkit - KHTML - Linux by Anonymous Coward · · Score: 1, Interesting

    Maybe it's because Chrome is based on Webkit that is based in KHTML that was developed mainly on Linux

  28. Other performance gains by Enderandrew · · Score: 4, Insightful

    How about a Qt build of Chromium as opposed to a GTK build of Chromium? I'd be real curious to see how it performs.

    I was also saddened to see the port team bitch and complain initially that they had to use GTK, because GTK is "the standard toolkit" for Linux, while in the same paragraph complaining that Linux doesn't simply have one standard toolkit. Last time I checked, Windows has a bevy of toolkits and APIs to choose from as well. They also complained that writing audio in Linux was difficult.

    If they had written a Qt app from day one, porting would be minimal, they wouldn't have to maintain this huge separate trunks, it would have worked from day 1 on Solaris, Mac, Linux, Windows, BSD, etc. Audio would have been very easy to code with Phonon.

    I'm curious to see if Chrome (the browser and OS) are indeed both developed with GTK, then will they both need some retrofits when GTK 3.0 ships, further complicating the matter?

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    1. Re:Other performance gains by Anonymous Coward · · Score: 5, Funny

      A Qt build of chromium exists, and is normally known as "konqueror".

    2. Re:Other performance gains by OrangeTide · · Score: 1

      They also complained that writing audio in Linux was difficult.

      They should use PortAudio, it's pretty easy.

      --
      “Common sense is not so common.” — Voltaire
    3. Re:Other performance gains by Enderandrew · · Score: 1

      Konqueror doesn't even run on Webkit.

      Rekonq does use Webkit from Qt, and it is a promising browser. However, it doesn't have a multiple-process, sandbox model that Chromium does.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    4. Re:Other performance gains by BitZtream · · Score: 2, Interesting

      Windows does not have a bevy of toolkits to choose from out of the box.

      Windows has, the Win32 API, GDI and the common controls. They come with EVERY install of Windows, it is a requirement. Pretty much everything else sits on top and is optional. You can draw buttons, checkboxes, ect, that work across all apps the same with nothing else. You can add a layer of abstraction with MFC and ATL if you want, but most developers who have been doing it for long enough will avoid those as they are more trouble then they are worth.

      OS X has Cocoa, Quartz and some other APIs, same thing, included out of the box, required, and consistent.

      Linux or more accurately, X11, doesn't. You need GTK, or QT or SOMETHING if you want a widget set rather than coding your own buttons and UI interfaces using the raw X11 API and a bunch of pixmaps. You HAVE to use GTK unless you want to design your own controls, and have no consistency with other applications. X11 does not include any common set of controls. And like it or not, GTK is crap. Qt is definitely a step up, but they hung themselves with their retarded licensing moves over the years, and GTK took over, sadly.

      OS X has a standard audio interface.

      Windows has a standard audio interface.

      Linux does not, hence all the bitching and complaining done by more than just the Chromium people about audio in Linux. My recent looking into MythTV shows this.

      No one wants their windows app to look like Qt. Mac users most certainly don't want Qt.

      If it takes a bunch of work to 'retrofit' GTK 3 into apps, then once again, you have another reason why Linux app development is not worth the effort and something to bitch about. I have some non-trivial Windows apps that were built for Win95 that still run in Windows7. Outside of hello world, that is not true with GTK, hell, a Hello World app written for GTK won't even run any more on Linux since there have been several changes to things like vtables in the compiler.

      I have the distinct impression that neither you, nor the people who modded you insightful have dealt with developing for a consistent OS before. You have, inadvertently I'm sure, just pointed out why most commercial software developers don't target Linux. Too many choices can be a bad thing. The changes to get most Windows or OSX apps to work on the next release are trivial, and you've usually known about them for the last 2 major revisions at least.

      If they wanted the easy way out, they would have used wxWidgets, which at least feels native (by using the native toolkits) across Windows and Mac, and GTK on other Unixes. They did not. It probably wouldn't provide them with a low enough interface to do what they wanted to do, and now we're back to bitching about the lack of a standard toolkit on Linux. The two linux machines I have do not even have GTK installed. This of course is not Linux specific. My FreeBSD boxes are the same way. A few have GTK because they have some GTK apps installed. Some have Qt. Some have both, one has neither, no X at all, but thats a different story entirely and not really the point.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    5. Re:Other performance gains by Enderandrew · · Score: 3, Informative

      Windows does not have a bevy of toolkits to choose from out of the box.

      Yet Windows developers often find the core Win32 API doesn't fit their needs, and waffle between toolkits like GTK, wxWidgets, Qt, and the usual cross-platform suspects. They also turn to .NET, Java (technically a whole language), MFC and others.

      I constantly run into issues where I need to download a runtime to run a Windows app, because many developers don't simply develop for what is out of the box with a standard Windows install.

      I've seen native X11 apps offer up checkboxes, form elements, and the like. So it is possible. It just doesn't look nice.

      Developing audio on Windows is not necessarily standard, not easy. That is why apps might ship with their own separate audio library like OpenAL, tie into QuickTime, etc.

      I have some non-trivial Windows apps that were built for Win95 that still run in Windows7.

      Sadly, there were many Windows 95 era apps that were still 16 bit, which don't work in x64 versions of Windows 7. Half of my games (mostly from the XP era, not Win95 era) wouldn't work properly in Windows 7. Windows breaks compatibility all the time, even with service packs. Saying you have a particular app that still works doesn't mean the Win32 API has stayed the same, because it hasn't.

      The GTK API has stayed mostly the same over the 2.x life-cycle. That is likely to change with GTK 3.

      Now, I'm not a fan of GTK by any means. However, the GTK 2.x API has been around since 2002. Anything written for that API should still work fine today.

      If they wanted the easy way out, they would have used wxWidgets, which at least feels native (by using the native toolkits) across Windows and Mac, and GTK on other Unixes.

      That is basically what I said, except you apparently didn't get that. I suggested they use Qt (like wxWidgets is a cross-platform toolkit). Qt makes more sense for a variety of reasons, such as native bindings to Webkit (the heart of Chrome), and very easy audio development where you write code once, and then the audio works on Windows, Mac, Linux, etc.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    6. Re:Other performance gains by JCholewa · · Score: 2, Informative

      Konqueror doesn't even run on Webkit.

      On my machine here, in Konqueror, you can go to the View Menu, select "View Mode", then click on "WebKit", to change Konqueror's renderer. So yes, it does. It just doesn't do so by default.

    7. Re:Other performance gains by Anonymous Coward · · Score: 0

      Mod parent up. He hits it right on the nail.

    8. Re:Other performance gains by Blakey+Rat · · Score: 1

      Yet Windows developers often find the core Win32 API doesn't fit their needs, and waffle between toolkits like GTK, wxWidgets, Qt, and the usual cross-platform suspects. They also turn to .NET, Java (technically a whole language), MFC and others.

      dotNET (typing it that way to get around a Slashcode bug) uses the GDI and the common controls, so it's a layer above what you're talking about. Ditto with MFC.

      Java draws its own widgets and get them all fundamentally wrong, as it does on pretty much every OS it runs on. (Except perhaps Linux, where there are so many competing standards, it's hard to declare something "wrong.")

      And from my experience, the vast, vast majority of Windows applications don't use GTK, wxWidgets or Qt, unless they've been ported from Linux. And most of those applications get the simple widgets wrong. (See: Pidgin, which gets Save/Open dialogs utterly wrong, or Notepad++ which gets menus wrong*.)

      * Think about that: it gets menus wrong. *Menus*. Which have been perfected since 1985, it somehow gets wrong in 2009! Holy Christ, that's shitty software. You wouldn't even think it was possible to get menus wrong!

      I constantly run into issues where I need to download a runtime to run a Windows app, because many developers don't simply develop for what is out of the box with a standard Windows install.

      Constantly? Given the amount of software for Windows, and your likely preference for open source apps (like Notepad++ and Pidgin, see above), you might have a different experience than most other Windows users. From my experience, finding a copy of Windows with GTK+ installed is pretty rare-- the only apps that *might* be popular enough for people to use it with are Inkscape, GIMP and Pidgin. (And note, once again, that the GUI in all of those apps is obviously wrong.)

      Sadly, there were many Windows 95 era apps that were still 16 bit, which don't work in x64 versions of Windows 7.

      True. Do you use any? Do you know anybody who uses any?

      Half of my games (mostly from the XP era, not Win95 era) wouldn't work properly in Windows 7.

      Half? Bunk. Total bunk.

      Wizardry 8, worked without a hitch. Serious Sam? Same. Command and Conquer: Red Alert? Ran fine. The original Unreal? Ran fine. Starsiege Tribes? No problems. Those are all games much older than the XP era, and they work.

      Maybe you have the strangest game collection in the world, but from my experience it's closer to 90%.

    9. Re:Other performance gains by Blakey+Rat · · Score: 1

      Oh, I kind of missed a point I wanted to make, apologies for the double-reply.

      The biggest problem with cross-platform toolkits like QT, wxWindows, and GTK+ (other than the fact that their widgets are wrong) is that you have to use the lowest common denominator of every OS it supports. And if it supports Linux, the LCD is looow indeed.

      For example, GTK+ apps don't work with pen input, or with voice recognition, both standard features in Vista, Windows 7, and OS X. Linux doesn't have them, so neither does Pidgin. That's actually the reason I got rid of it. Meanwhile, all apps written using Microsoft's APIs support them fine-- hell even Flash, *Flash*, has hooks to support pen input and voice recognition! (Which is why Flash is such a popular development platform for multi-touch tables, like the Microsoft Surface.)

      By the time Linux/GTK+ gets support for pen input, I'll be lamenting it's lack of instant thought transference, or canine vocalization translation, or whatever other technology the rest of the computer industry has moved on to but the Linux hordes haven't found necessary yet.

    10. Re:Other performance gains by Enderandrew · · Score: 1

      Qt has pen input that works on all platforms. Just saying.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    11. Re:Other performance gains by richlv · · Score: 1

      i'm actually surprised about how many developers and it people who are fans of chrome do not know that it originated from konqueror.
      as for the gtk choice, that seems to be a pretty huge mistake, as choosing qt would indeed have brought them many, many benefits. would be interesting to find out what the real reason for this choice was - maybe some politics regarding mobile devices and their toolkits/operating systems ?

      --
      Rich
    12. Re:Other performance gains by shutdown+-p+now · · Score: 1

      Windows has, the Win32 API, GDI and the common controls. They come with EVERY install of Windows, it is a requirement. Pretty much everything else sits on top and is optional. You can draw buttons, checkboxes, ect, that work across all apps the same with nothing else.

      It should be noted that two best Windows UI frameworks - namely, WPF and Qt - both draw their own widgets, and don't use stock ones. Part of the reasoning is performance, part is inability to add some features. In any case, Win32 API exposes lower-level widget drawing primitives as well, so you can draw buttons/menus/whatever using system theme. Both WPF and Qt do this right (in that it's hard to tell a widget draw by either one from a stock OS widget - you have to know the clues in advance to look for them). Java Swing also does this more or less okay. Gtk/Win32 tries to do that, too, but fails horribly on everything except Windows Classic theme.

      You can add a layer of abstraction with MFC and ATL if you want, but most developers who have been doing it for long enough will avoid those as they are more trouble then they are worth.

      UI portions of Win32 API are ugly and low-level enough that any sane developer will want an abstraction layer, and hand-coding one when there are good existing solutions with acceptable licensing (now that Qt is LGPL) is a waste of time.

      In any case, even hardcore Win32 developers normally use at least something like WTL. The tedium of manual resource management in plain C is just too high.

    13. Re:Other performance gains by shutdown+-p+now · · Score: 1

      The biggest problem with cross-platform toolkits like QT, wxWindows, and GTK+ (other than the fact that their widgets are wrong)

      Given that wxWidgets uses native OS widgets on Win32, I would be very curious to hear what is wrong about them.

      Qt renders its own, but I'm still not aware of anything being wrong about them.

      You go on to kick Gtk for the lack of features, which it probably deserves. But what about Qt?

    14. Re:Other performance gains by Anonymous Coward · · Score: 0

      To be fair, GTK runs on Windows too, so they could have written it in GTK from the start and they wouldn't have had to maintain huge separate trunks.

    15. Re:Other performance gains by plague3106 · · Score: 1

      Well, Vista and higher also come with .Net by default, as .Net will be standard from here on out.

    16. Re:Other performance gains by Jesus_666 · · Score: 1

      If they wanted the easy way out, they would have used wxWidgets, which at least feels native (by using the native toolkits) across Windows and Mac, and GTK on other Unixes.It looks native but it doesn't feel native. Example:

      A dialog that tells the user "Warning: Applying these changes will reset the device." and asks them whether they want to continue or not. The detail in question are the buttons presented to the user.
      Windows dialogs use [OK] [Cancel].
      GTK dialogs use [Cancel][OK].
      OS X dialogs use [Apply][Don't apply](the button labels are supposed to be self-explanatory and dialog-dependent).

      Whatever you do, it's going to violate the HIG (or established best practices) on at least some platforms. You can get a decent approximation but it's always going to be slightly off - although with wxW it won't be as far off (on non-X11 platforms) as with Qt and nowhere near GTK's distance to proper integration.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    17. Re:Other performance gains by Jesus_666 · · Score: 1

      Java draws its own widgets and get them all fundamentally wrong, as it does on pretty much every OS it runs on.

      Although on OS X it's miles ahead of X11, which isn't even capable of separating menus from windows - so yes, in a way X11 doesn't even get menus right. Speaking of which, what exactly is your issue with Notepad++'s menus? I haven't found anything unusual but then again I run Windows XP without visual styles so it might be a styling issue I can't see.

      Maybe you have the strangest game collection in the world, but from my experience it's closer to 90%.

      Or he plays stuff like System Shock 2 (extremely difficult to properly play under XP; virtually impossible to play under Vista/7) and X-Com: Apocalypse and refuses to put a DOSBox around the latter. In fact, thinking back to SS2, just about every Dark Engine game should be problematic; that engine really didn't age well.

      Vista and XP deal with many games properly; the ones they don't play nice with are often the ones that are already tricky to get working under XP.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    18. Re:Other performance gains by Blakey+Rat · · Score: 1

      Although on OS X it's miles ahead of X11, which isn't even capable of separating menus from windows - so yes, in a way X11 doesn't even get menus right. Speaking of which, what exactly is your issue with Notepad++'s menus? I haven't found anything unusual but then again I run Windows XP without visual styles so it might be a styling issue I can't see.

      http://sourceforge.net/tracker/index.php?func=detail&aid=1865630&group_id=95717&atid=612382

      Dear Lord, it's actually marked as fixed!

      Although, since his comment is, "making the language menu more compact," I'm thinking he still doesn't understand how the menu code is fundamentally wrong, regardless of the height of that particular menu. It's true that a more compact Language menu won't exhibit the bug, but that's not the same thing as fixing the bug.

      The more fundamental question to me is, "where do you even GET a menu library in the year 2008 that flawed?" Also: "how much do you hate your users that you don't even bother to test your widgets before putting them in the program?"

      I also reported a UAC issue, I haven't bothered checking back to see if that was fixed, but it was the kind of UAC bug that means Notepad++ *never* worked on a limited-user account in the past. Some software developers really just don't give a shit about the quality of their programs, do they?

      BTW: there are styling issues, too. While searching for that bug, I found another that says the menu items have ugly white rectangles around the text.

      Or he plays stuff like System Shock 2 (extremely difficult to properly play under XP; virtually impossible to play under Vista/7) and X-Com: Apocalypse and refuses to put a DOSBox around the latter. In fact, thinking back to SS2, just about every Dark Engine game should be problematic; that engine really didn't age well.

      Well, ok, I never claimed compatibility was perfect. Wizardry 8 has issues, too, just none of them game-breaking. But if he's seriously saying 50%, then he must only own like 6 games and be the least lucky person ever. (Or more likely, he's exaggerating to make Windows look worse than it is.)

    19. Re:Other performance gains by Blakey+Rat · · Score: 0, Troll

      Give me a larger-than-trivial Qt application, and I (almost) guarantee I can find a bug in it in less than half an hour.

      You are, however, correct that most of my experience of shit-ily ported software is based on GTK+. But it's *so* embarrassingly shitty, it amazes me that the Pidgin developers would even want to release a Windows build, if that's the best they can manage.

    20. Re:Other performance gains by shutdown+-p+now · · Score: 1

      Give me a larger-than-trivial Qt application, and I (almost) guarantee I can find a bug in it in less than half an hour.

      By "bug" do you mean any inconsistency with stock UI controls?

      I really wouldn't go so far as to call it that, because it really is the norm on Windows. In fact, many Microsoft applications don't use stock controls themselves - Office doesn't, for example. Huge parts of VS2010 were rewritten in WPF, too (and it doesn't even try to look native anymore, even though it could - rather, it has its own distinct theme).

      In any case, try Psi - that one is a Qt4 application that tries to look native. I'm curious as to what abnormalities you can quickly find in that.

    21. Re:Other performance gains by the_womble · · Score: 1

      So Konqueror has:

      1) Webkit rather than KHTML,
      2) Process per tab,
      3) Application shortcuts, .etc.

      Does it?

    22. Re:Other performance gains by Blakey+Rat · · Score: 1

      By "bug" do you mean any inconsistency with stock UI controls?

      An inconsistency is otherwise known as a "bug," yes.

      I really wouldn't go so far as to call it that, because it really is the norm on Windows.

      Yes, there are many buggy apps on Windows. Nobody ever claimed Windows apps were bug-free.

      In fact, many Microsoft applications don't use stock controls themselves - Office doesn't, for example.

      Office writes their own widgets, but (as far as I can work out) they behave 100% identically to the OS-standard widgets. Therefore, they aren't buggy. (Usually, the only difference is that Office adds their own theming.) Now, that said, there very could well be a case where the Office widget works differently, and then, yes, it would be a bug. Nobody ever claimed Office was bug-free.

      Huge parts of VS2010 were rewritten in WPF, too (and it doesn't even try to look native anymore, even though it could - rather, it has its own distinct theme).

      Yeah, and I think that's a huge mistake. When a programmer who is a bad UI designer doesn't know how to implement something, what's he going to do? Find a similar problem and see how VS solved it... and most of the time, VS gets it wrong. This is a huge problem, and leads to what you pointed out previously, about buggy Windows apps. (Oh, and same applies to Office.)

      It's obvious if you work with Microsoft products that VS and SQL Server, for some reason, get little-to-none usability testing, as opposed to virtually everything else Microsoft creates. Why is this? Maybe Microsoft perceives that it's not a problem if "pro" apps are hard-to-use? I dunno. Like I said, I think it's a huge mistake.

      SQL Server is actually even worse than VS. Even it's installer is basically equal parts confusion, meaningless buzzwords, and bugs. There's no reason a database package should be hard-to-use.

      In any case, try Psi - that one is a Qt4 application that tries to look native. I'm curious as to what abnormalities you can quickly find in that.

      The *screenshot* on the webpage has a wrong down-arrow control. I didn't even need to download the program.

      It looks like they hacked off the end of a scrollbar and tinted it blue. Hell, I can't even really tell what widget it's supposed to be... is that a combo box arrow that somehow got detached from the rest of the box? The combo box arrow would at least look correct: http://schend.net/images/screenshots/combo_box_arrow.png

      With something like that, I have absolutely no clue how to interact with it. I can assume that clicking it causes something to appear below it, but what is that something? A menu? A combo box? Who knows!

      Is that seriously the best example you have? I'm starting to form a theory that most programmers have no eye whatsoever for detail... you're kind of confirming my suspicions.

    23. Re:Other performance gains by Blakey+Rat · · Score: 1

      Ugh. I just downloaded and installed the program. The widget is a menu, FYI, but God it's hideous! It's completely ignoring my Windows theme, and drawing a huge fat black arrow in the middle of what appears to be a button. Windows doesn't have a "button-menu" control that I'm aware of, so I guess I can forgive that it exists, but it could at least look like it fits in.

      Also: the text selection highlight is wrong, it's supposed to be a dark blue background using my theme. And HOLY SHIT, Control-C to COPY doesn't work! COPY DOESN'T WORK! COPY DOES NOT WORK and you're holding this up as a good Qt4 app?! Jesus.

    24. Re:Other performance gains by shutdown+-p+now · · Score: 2, Insightful

      It's obvious if you work with Microsoft products that VS and SQL Server, for some reason, get little-to-none usability testing, as opposed to virtually everything else Microsoft creates.

      Well, as it happens, I work on Microsoft products - VS specifically - and particularly on common UI parts - main and context menus, toolbars, toolwindows, start page, switcher, options dialog, toolbox etc (though as a developer, not an UX/usability expert). So if you can point any specific usability flaws, shoot. Especially those in VS2010 betas.

      I know quite a few myself; for example, our toolbar customization dialog (Tools -> Customize) is atrocious from UX perspective. But it would be interesting to hear outside perspective.

      That said, it's not true that there's "little to no" usability testing and UI design review, for VS at least. I should know; I've fixed quite a few bugs that boil down to "this looks kinda wrong because there's an extra 1px spacing between icons here", or "keyboard navigation doesn't wrap around in toolbars with overflow" in this release cycle. And this kind of stuff has to be signed off with a dedicated UX team.

      Is that seriously the best example you have? I'm starting to form a theory that most programmers have no eye whatsoever for detail... you're kind of confirming my suspicions.

      Last version of Psi that I've regularly used was 2 major releases before the current one; I don't recall seeing that button there back then (or at least it didn't look as wrong as on the screenshot).

      Also: the text selection highlight is wrong, it's supposed to be a dark blue background using my theme.

      I've checked it out, and it seems to be wrong in the chat window output area (which is a custom rich text control), but all textboxes (which are stock Qt) use my system colors. So not really Qt fault here.

      And HOLY SHIT, Control-C to COPY doesn't work! COPY DOESN'T WORK! COPY DOES NOT WORK

      Again, chat output area - a badly written custom control. As you surely understand, it's just as easy to write one like that in raw Win32 API.

    25. Re:Other performance gains by Blakey+Rat · · Score: 1

      The part that really throws me about VS is how it reconfigures itself, seemingly at random, when you load different projects/files/etc.

      For example, we use Team Foundation Server as source control. In a typical day, I have TFS's source browser open while I'm working on other things-- Word docs, or email, or whatever. Fine. But then I need to do some work on a C# program, so I click the C# project in Explorer and it opens in the same VS window... well, ok.

      But now it gets weird. Since TFS's source browser has no "solution", the Solution Explorer isn't there. I have an open project, but it's not showing me the project items, which is really dis-concerting... and even worse, if the project happened to be saved with no open tabs, the VS UI does *nothing at all* when you open a project. (Well, it does some stuff to the menus, but the window looks identical to before.) So I always have to manually show the Solution Explorer and Properties Explorer, and usually the Toolbox also.

      What I'd MUCH rather have is TFS source control browser being treated as a completely different instance of VS, instead of just a tab in VS. Then when I opened a C# project, I'd get a whole new VS instance with the correct UI elements shown.

      Oh, but it gets even weirder with Javascript. I'm running a JS project in a browser, and I hit "Debug" and choose VS as the debugger. Now, the JS file I'm running is RIGHT THERE in VS, but it seems completely unable to detect that the file I'm debugging is the same thing as the file I'm looking at... so I get a new VS tab, which is crazily showing the exact same file as the one I was editing a minute ago, except it's non-editable. Which means I always, and I mean *always*, try to edit it and get that idiotic error "you can't edit this file, dummy, it's being debugged" or whatever it says. Irritating as hell.

      IE8 fixes that latest problem, except I'm still running IE7 for QA purposes.

      I think the problem I really have is that VS is designed around the assumption that you sit down, open VS once, and open a single solution which is the *only* thing you work on each day. My work isn't like that... I'm editing HTML here, JS there, oh quick change to the C# site, another quick change to the DB schema, etc. I'm constantly opening and closing new projects, and VS seems to have a new and exciting UI configuration every single time I do so.

      I'm not trying to suggest the widgets are broken (although they are weird in many ways), but the holistic experience for me just isn't there... I feel that every time I open up something that uses VS, I have absolutely no clue how it's going to look. "Is the Solution Explorer going to be there this time?" "Is the Properties Explorer?" "Is the Propeties Explorer going to be below or beside the Solution Explorer?"

      That said, it's not true that there's "little to no" usability testing and UI design review, for VS at least.

      The testing I need is, "hey, spend a few hours looking over my (a typical customer) shoulder, and see how weird this all is." Some groups do that, I know Office and Windows does. Maybe VS is doing that, but they don't watch people who work like I do.

      VS has a lot of features I really love, although I have to admit I've been slowing moving over to Expression Web for all my HTML/Javascript needs. The only thing I really use VS for HTML-wise anymore is the "Format Document" function and the Javascript debugger.

      Oh, and BTW, did you know the "Check for Updates" item in the VS Help menu does not, and has not ever, worked? Oh, it LOOKS like it works, but after you the install process, you actually end up with the same version of VS as before? It's devious. http://blakeyrat.com/2008/10/ms-sql-server-2008-installer-woes/

      Last version of Psi that I've regularly used was 2 major releases before the current one; I don't recall seeing that button there back then (or at least it didn't look as wrong as on the screenshot).

    26. Re:Other performance gains by Blakey+Rat · · Score: 1

      Actually, I think I just realized what (conceptually) is wrong with Visual Studio.

      VS uses a Solution metaphor, which is basically just a project full of projects. Each given VS window can have one Solution open at a time. That's fine.

      The problem is that VS also can open a whole bunch of different tasks that don't count as Solutions. For example, the TFS source control browser doesn't count as a Solution, so if I double-click a real solution is takes over that window. Ditto with a Javascript file I just double-clicked to edit, that's not a solution it's just a file. Or the Javascript debugger.

      Making that even more confusing, whatever was opened first controls the UI of that particular VS window... if I open TFS source control browser first, the VS window has no Explorers or Toolbox because those don't apply to it. But if I later double-click a C# project, that window gets re-used for the C# project *without adding the project-relevant UI elements*.

      Now if I take that setup and double-click a JS file, the JS file crams into the same window once again, because it's not a Solution. So now I have a Javascript editor with a Solution Explorer and Toolbox.

      I could be wrong, maybe the behavior is more complex than this. But it seems to match the clicking-around I'm doing as I type this.

      A better way of doing this would be to have a "everything else" VS window where things like source control, ad-hoc file editing, debuggers go, and for which the UI changes each time you change a tab. Then each Solution should have its own independent window with a static UI.

      Well, whatever, I'm not an expert either. I just know that by the end of the day, I usually have like 9 VS windows open, all containing random shit, and I have no idea what's going on with them.

    27. Re:Other performance gains by shutdown+-p+now · · Score: 1

      For example, we use Team Foundation Server as source control. In a typical day, I have TFS's source browser open while I'm working on other things-- Word docs, or email, or whatever. Fine. But then I need to do some work on a C# program, so I click the C# project in Explorer and it opens in the same VS window... well, ok.

      But now it gets weird. Since TFS's source browser has no "solution", the Solution Explorer isn't there. I have an open project, but it's not showing me the project items, which is really dis-concerting... and even worse, if the project happened to be saved with no open tabs, the VS UI does *nothing at all* when you open a project. (Well, it does some stuff to the menus, but the window looks identical to before.) So I always have to manually show the Solution Explorer and Properties Explorer, and usually the Toolbox also.

      The behavior you describe is rather weird. Unless your VS crashes (i.e. if you shut it down normally), you shouldn't need to enable Solution Explorer / Properties / Toolbox more than once. Let me explain...

      The way this works is actually a little bit similar to Eclipse "perspectives", only in case of VS they are hardcoded and more generic - so you get a "design" perspective (this is what you get initially when you open a solution), a "debug" perspective (obvious) etc. Each of them has its own set of visible toolbars and toolwindows and their position.

      So, regardless of presence/absence of TFS Explorer window, once you make e.g. Solution Explorer show in "design" perspective, it should stick (there's no "TFS" perspective). If it doesn't, I'd be really curious to hear more about it (it would be a bug in my team's area of code) - there must be some other step in there that makes it misbehave as you describe. If you can come up with a step-by-step repro on any VS version, that would be perfect.

      Can't comment on your JS problem, unfortunately - last web application I wrote was 5 years ago and in PHP.

      I think the problem I really have is that VS is designed around the assumption that you sit down, open VS once, and open a single solution which is the *only* thing you work on each day. My work isn't like that... I'm editing HTML here, JS there, oh quick change to the C# site, another quick change to the DB schema, etc. I'm constantly opening and closing new projects, and VS seems to have a new and exciting UI configuration every single time I do so.

      This is again weird, since individual solutions/projects do not have separate window visibility/location settings. I just killed Solution Explorer and switched between several solutions; it remained invisible. Re-enabled it, undocked and dragged around, and switched some more - it remains visible and in the position where I've put it.

      Oh, and BTW, did you know the "Check for Updates" item in the VS Help menu does not, and has not ever, worked? Oh, it LOOKS like it works, but after you the install process, you actually end up with the same version of VS as before? It's devious.

      I agree that the situation described in your blog post is quite a mess. To my personal excuse, I wasn't yet here in time for VS2008 (or SP1) release :) and I sure hope this won't fail like that for VS2010. From the description it sounds like Microsoft Update was broken with respect to VS, somehow.

      Regarding installer in general - well, at least it's faster now... Though I understand that after 3-hour install of VS2005 SP1 that could sometime ask you to close explorer.exe to continue installation, this may not sound overly optimistic. I can only say that this is taken seriously, and it is being worked on.

    28. Re:Other performance gains by Blakey+Rat · · Score: 1

      You should pop me off an email or blog comment, so we could hash through this.

      Now that I'm trying it on my work machine, it's actually behaving closer to what you describe. (At least if I'm reading you right, I've never used Eclipse, so I really have no clue at all what a "perspective" is. And VS certainly doesn't seem to have anything that tries to explain that metaphor.)

      In any case, starting with a computer with no VS running, here's what VS looks like when I open it by double-clicking a .js file:
      http://schend.net/images/screenshots/vs_opened_js_file.png

      Contrary to what happens on my home computer (where I wrote the last post), if I then double-click a Solution, the Solution will get its own window completely separate from the .js window and with the correct UI elements visible. That's good-- just give the JS window a different icon, so I can tell it apart easier, and I'd be happy.

      TFS, however, doens't behave the same way. Here's what VS looks like if I just open it using the Start menu icon:
      http://schend.net/images/screenshots/vs_source_control_explorer.png

      Note that it opens up the Source Control Explorer by default, with the appropriate UI elements. (BTW, what's an "Explorer?" It the little pane to the right is an "Explorer", but the main content of the window is also an "Explorer", WTF does that term even mean?)

      Here's the same window after I open a Solution that just happens to have no saved open tabs:
      http://schend.net/images/screenshots/vs_opened_solution_from_source_control.png

      Can you tell the difference? Other than the Source Control Explorer window flashing, there's *nothing* in the UI to indicate that I now have an open Solution. The Solution Explorer didn't appear, nor did the Toolbox or Properties Explorer. The only difference, as far as I can work out, is that the File menu activated Close Project.

      Now if I manually go and show the Solution Explorer, then it'll have all the Solution files in it and all will be well. But why should I have to manually show it even single time?

      This might be a bug, but VS is working off such a complicated UI metaphor that I have no way of telling what's a bug or not. What your team really needs to do is simplify the metaphor to something you can explain in less than a paragraph without referring to a competing project :)

    29. Re:Other performance gains by Blakey+Rat · · Score: 1

      From the description it sounds like Microsoft Update was broken with respect to VS, somehow.

      The most insane part is that it goes through the whole install process-- downloads the patch, asks you to close VS, shuffles through files for over an hour, tells you it's all updated with a happy little Close button. But when you check VS's version, it didn't actually change anything at all! I mean, how does a bug like that even happen? What the holy hell was the installer doing for that hour and a half? It boggles the mind.

      Anyway, I'm not blaming you, I'm actually more pissed at SQL Server's installer, which IMO should be classified as a violation of the Geneva Convention. (Can you tell I've had to install a few SQL Server instances this week?)

    30. Re:Other performance gains by shutdown+-p+now · · Score: 1

      You should pop me off an email or blog comment, so we could hash through this.

      I'm sorry, I couldn't find your email anywhere (not in your /. profile nor on your blog), nor an appropriate blog post for random comments.

      My /. profile has email visible - you can use that, or pminaev@microsoft.com, for further replies.

      (BTW, what's an "Explorer?" It the little pane to the right is an "Explorer", but the main content of the window is also an "Explorer", WTF does that term even mean?)

      I think it's supposed to mean "a browser of an item tree of some kind". In this case there are 3 - Solution Explorer for solution files, Source Control Explorer for source control files, and Team Explorer for work item queries, project-related documents etc.

      Now if I manually go and show the Solution Explorer, then it'll have all the Solution files in it and all will be well. But why should I have to manually show it even single time?

      Just to clarify this bit - if you make Solution Explorer visible after opening a project, and then close VS and restart it (using Start Menu icon), you don't see Solution Explorer anymore?

      On a side note, if Solution Explorer is enabled while you're opening a project from TFS, even if it's not on a visible tab, it will become visible, serving as an indication for project load. I agree that it would make some sense for it to pop up either way when opening up a solution, though.

    31. Re:Other performance gains by shutdown+-p+now · · Score: 1

      Anyway, I'm not blaming you, I'm actually more pissed at SQL Server's installer, which IMO should be classified as a violation of the Geneva Convention. (Can you tell I've had to install a few SQL Server instances this week?)

      Do you want to install? No, really? Okay, click here to run some tests... all fine, now click here to agree with me on that. Right, so lets start the installer then... what? no, this wasn't it, this was a prerequisite check. And this is the installer now. So, do you want to install? No, really? Okay, let's run some tests... ;)

      But it can be worse. Have you ever installed TFS2005 or TFS2008 with a service pack?..

      (Gladly, this was much improved in VS2010, and I think the new TFS installer is now more sane than SQL Server one ever was. Of course, I'm biased ~)

    32. Re:Other performance gains by BitZtream · · Score: 1

      Yet Windows developers often find the core Win32 API doesn't fit their needs, and waffle between toolkits like GTK, wxWidgets, Qt, and the usual cross-platform suspects. They also turn to .NET, Java (technically a whole language), MFC and others.

      Yes, windows has many many shitty developers. The barrier to entry is low for Windows programming. X11 development while not overly difficult is none trivial for a newbie, there are far less wizards for generating an X11 app than there are for Windows apps. Almost every Windows IDE (built for windows, not ported from somewhere else) has a wizard for generating apps. You won't find the same true for UNIX IDEs, and what most consider as IDE's for UNIX take a fair amount of work just to get them working. Most (not all) UNIX devs can use emacs or vim as an IDE. Most (not all) Windows developers would run and hide if they had to do that, which I wish was the case. Cocoa's quirks slow down some of the potential OS X devs than god, but not by much.

      Developing audio on Windows is not necessarily standard, not easy. That is why apps might ship with their own separate audio library like OpenAL, tie into QuickTime, etc.

      People using OpenAL for basic audio are subjecting themselves to more pain than its worth. A better example would be something like BASS, which does make Windows audio easier, but thats mostly because of its ability to play multiple audio formats other than the native formats. I would argue that using OpenAL is harder in certain instances than native audio support. OpenAL is the way to go if you intend to target something other than Windows, but not because its easier, because its more consistent across platforms.

      Sadly, there were many Windows 95 era apps that were still 16 bit, which don't work in x64 versions of Windows 7

      I didn't say Win95 era apps, I said Win95 apps, big difference. I never implied that a Win3.1 app would work in XP, Vista or Win7.

      Now, I'm not a fan of GTK by any means. However, the GTK 2.x API has been around since 2002. Anything written for that API should still work fine today.

      Sure, for the most part thats true, if you recompile it. GCC changes alone since then require recompilation on Linux. Windows apps don't need the recompile.

      That is basically what I said, except you apparently didn't get that. I suggested they use Qt (like wxWidgets is a cross-platform toolkit). Qt makes more sense for a variety of reasons, such as native bindings to Webkit (the heart of Chrome), and very easy audio development where you write code once, and then the audio works on Windows, Mac, Linux, etc.

      And you missed the point of mentioning wxWidgets. It wasn't that there is a port, theres a port of GTK to OS X and Windows as well. Neither GTK nor Qt feel native, wxWidgets does, on Windows and Mac OS X (and if you were going to do so, older builds were native to Mac OS but we'll exclude those since they aren't supported anywhere anymore). wxWidgets also has a widget for WebKit, and audio classes. The main difference is how it feels to the user, which is more important than how it feels to the developer for anyone writing software intended to be used by others. Ignoring the native feel is a big sign of a ignorant developer. Most people don't use PCs to learn how some particular software works, they use it to get something done. By not following the common UI elements you break the feeling and require people to learn something different for your app, making it harder to use. Sometimes you can't help but to use custom UI elements as it doesnt' fall into what already exists, but thats not what Qt does as those custom elements are not part of Qt. It (and GTK) break the feeling of Windows and Mac OS X. Thats fine if you're a UNIX person who has to use Windows and wants things to feel like UNIX anyway, but its horrible for porting an app to Windows for Windows users to use.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    33. Re:Other performance gains by Anonymous Coward · · Score: 0

      Right, you do realise that Google wrote their own javascript engine for Chrome/Chromium don't you? Well, obviously not, or you wouldn't have made such a stupid comment. These days the javascript engine is arguably just as important as the HTML renderer.

  29. Re:Hold the phone by Anonymous Coward · · Score: 1, Interesting

    Yeah. As opposed to tests made by Microsoft and Apple paid "impartial and reliable" entities.
    \sarcasm

  30. Chromium ! = Chrome by Anonymous Coward · · Score: 0

    very funny. That's some old game.

  31. What's with writing "[sic]" after "X-windows"? by nuckfuts · · Score: 2, Insightful

    It's been called X-Windows for a long time. Longer than the term "X11" has been around. It's not a misuse of Microsoft's Windows® brand name.

    1. Re:What's with writing "[sic]" after "X-windows"? by FauxPasIII · · Score: 3, Informative

      > It's been called X-Windows for a long time. ... incorrectly. It's actually the X Window System.

      http://en.wikipedia.org/wiki/X11

      --
      25% Funny, 25% Insightful, 25% Informative, 25% Troll
    2. Re:What's with writing "[sic]" after "X-windows"? by Anonymous Coward · · Score: 0

      It's been called X-Windows for a long time. Longer than the term "X11" has been around. It's not a misuse of Microsoft's Windows® brand name.

      Because its name is and always has been "X Window System". Only with the advent of Microsoft Windows, did people take to mistakenly and confusingly calling it "X Windows".

    3. Re:What's with writing "[sic]" after "X-windows"? by yanyan · · Score: 1

      Correct. In fact the X man page states the following:

      The X.Org Foundation requests that the following names be used when referring to this software:

      X

      X Window System

      X Version 11

      X Window System, Version 11

      X11

      Personally i call it X11.

    4. Re:What's with writing "[sic]" after "X-windows"? by nuckfuts · · Score: 2, Informative

      I don't care what Wikipedia labels it. I've been around since back in the day, and nobody went around saying "The X Windows System". We called it "X Windows". Maybe we weren't being 100% correct, but I'm pretty sure it was acceptable enough that nobody would have quoted us with a snide little "[sic]".

    5. Re:What's with writing "[sic]" after "X-windows"? by Anonymous Coward · · Score: 0

      The trailing 's' is the problem.

      Right:
      X Window
      The X Window System
      X
      X11

      Wrong:
      X Windows
      The X Windows System

    6. Re:What's with writing "[sic]" after "X-windows"? by Bill_the_Engineer · · Score: 1

      Well, The TFA uses a hyphen "X-Windows[sic]" while you didn't "X Windows".

      So which one of you deserves the snide little "[sic]"? ;)

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    7. Re:What's with writing "[sic]" after "X-windows"? by nuckfuts · · Score: 1

      We didn't pronounce the hyphen.

    8. Re:What's with writing "[sic]" after "X-windows"? by Kidbro · · Score: 1

      The difference between text and speech is that you expect text to actually be correct. When you're quoting someone that does include things that aren't quite correct, you insert the "snide little [sic]". That's its function.
      Just because you called it "X Windows" that does not mean it was correct, nor, I hope, that it was what you actually wrote when you had to put it in text.

      And, for what it's worth, I've been around since back in the day as well, and "we" simply called it "X".

  32. Faster because it's incomplete? by edmicman · · Score: 1

    I've been using the daily Chromium PPA builds for a couple months now (updated weekly usually), and Chromium is by far more responsive than Firefox on my Ubuntu 9.04 laptop. For some reason FF just seems to get laggy in the UI dept, and if I open up a handful of tabs, especially if there is Flash involved, the whole thing chokes and the app turns grey. Chromium seems to perform much better.

    That said, it still feels very much incomplete. I don't think printing is working still, although I haven't tried it in awhile. For some reason there are no "arrow button clickers" on scrollbars...not sure why that is the case. I can't open a file download directly or inline - for example to view a PDF I have to save it somewhere first, THEN open it. FF lets me choose what to open it with without having to save first. 99% of my browsing on Chromium is super fast, except for the Gizmodo.com RSS feed through Google Reader. I don't really know why, but it seems like it has something to do with the adds loading or something...does FF pre-fetch or cache things or something?

    I've switched back and forth off and on for awhile now. I"ll get tired of the UI laginess in FF, or I'll break it on a nightly update, and then use Chromium for some time. Eventually I'll miss some features or speed in the RSS reading of Firefox (I wonder how much of that is due to Adblock?), and then return. All in all both browsers are good, and I'm looking forward to Chromium becoming a full fledged option on Linux.

    1. Re:Faster because it's incomplete? by domatic · · Score: 1

      Printing works on the newest builds of google-chrome and chromium-browsrer but it can be buggy. It seems to get a little bit better steadily as more releases come out.

  33. Read this yesterday, installed, then removed. by isolationism · · Score: 2, Interesting

    The font rendering settings are locked in. There are some Google Groups discussions about why this is so, but it was all white noise -- every other application can use .fonts.conf (even if it is a workaround to do so) and Chrome can't/won't for a while, so it got promptly uninstalled.

  34. What to make of X11? by Enderandrew · · Score: 2, Interesting

    I'm wary of any real old legacy code.

    I also know that graphic displays and inputs are vastly different today than they were 10 and 20 years ago.

    Do I know that X11 is inefficient? No, but I sure read plenty of other people making those claims. However, I suspect that X11 wasn't developed initially with today's needs in mind. I do know that the X team keeps promising features, cutting them, and then still shipping six months past their projected release dates.

    Novell has guys working on Mono, Evolution, OOo, KDE, Gnome, the kernel, etc. What I don't see a whole lot of is major distro companies (Red Hat, Novell, Canonical) paying for major upstream development with X. Maybe it just needs a little more love, some deprecation of old cruft, and a new forward-thinking design. There seems to be somewhat of a future direction (GEM, DRI2, MPX), but perhaps X needs a revolution.

    Is Wayland a step in the right direction?

    --
    http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    1. Re:What to make of X11? by snadrus · · Score: 1

      It's X11 changes that have helped make Wayland possible. Also, the breaking it apart into different pieces has helped accelerate it and offers an opportunity for some of those pieces to be replaced. I'd say the biggest problem is that it's still X11 instead of an army of pieces that are re-assembled differently for each distros intentions. Also, swappable pieces like Wayland should help add options without disposing of 20 years of work all at once.

      --
      Science & open-source build trust from peer review. Learn systems you can trust.
    2. Re:What to make of X11? by Anonymous Coward · · Score: 0

      Maybe it just needs a little more love, some deprecation of old cruft, and a new forward-thinking design

      You mean like the Render, Damage, and X-Fixes extensions?

      The changes you are asking for were done years ago.

    3. Re:What to make of X11? by Homburg · · Score: 1

      What I don't see a whole lot of is major distro companies (Red Hat, Novell, Canonical) paying for major upstream development with X.

      Really? David Airlie (one of the main developers of the open-source ATI drivers) works for Red Hat. Keith Packard, one of the major forces behind x.org (and important recent-ish developments like the composite extension) was employed by SuSE. A lot of the DRI2 work is, I believe, being done by employees of Red Hat, and Novell are also credited for work done on x.org. I don't think the situation is any different for X than it is for the other components of the Linux desktop.

  35. Re:Even if X is usually slower... by everynerd · · Score: 5, Funny

    Give the guy a break. He's only trying to create synergy among web-enabled paradigms.

  36. TWO GIRLS FOR EVERY ONE CUP!!! by Anonymous Coward · · Score: 0

    As seen on TV

  37. Guestimates by wye43 · · Score: 2, Insightful

    I read TFA and all there is are feelings of some people that its faster, no numbers. I guess that is what "reportedly" means. Weasel words.

  38. Aqua layer, you say? by WaroDaBeast · · Score: 1

    I call DIBs on the X server. Especially if it sucks.

    --
    "The body may heal, but the mind is not always so resilient." -- Deus Ex: Human Revolution
  39. Re:Memcpy not the biggest problem for chrome/chrom by MikeBabcock · · Score: 2, Informative

    I had the same problem with Google Desktop. It was a great tool and worked well for a while, but eventually its little database file was immense and was dragging my system down with it.

    --
    - Michael T. Babcock (Yes, I blog)
  40. Re:Memcpy not the biggest problem for chrome/chrom by The+MAZZTer · · Score: 1

    I haven't noticed any degradation of performance, but yeah, the history files are 900mb for me for only 9 months of use and the thumbnails are 300mb. That's pretty big.

  41. Re:Even if X is usually slower... by xtracto · · Score: 1

    s/then/than/g

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  42. network transparancy by Anonymous Coward · · Score: 0

    Forget performance.

    Network Transparancy man. Thats what X does so well that no one else can.

  43. Re:Memcpy not the biggest problem for chrome/chrom by xtracto · · Score: 1

    Which is the same for any other program that indexes the text inside different types of files...

    The idea behind file/text-indexing is to generate that searchable index trading searching-time with hard disk space.

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  44. What to make of ignorant flamebait? by FranTaylor · · Score: 3, Interesting

    "I also know that graphic displays and inputs are vastly different today than they were 10 and 20 years ago."

    Really what is so different other than the number of pixels on the display?

    "I suspect that X11 wasn't developed initially with today's needs in mind."

    Then perhaps you should read about the original goals of the X window system.

    1. Re:What to make of ignorant flamebait? by Enderandrew · · Score: 1

      Really what is so different other than the number of pixels on the display?

      Varying color depth, widescreen display ratios, scaling elements to varying resolutions, transparency and composite effects, GEM, KMS, DRI, hardware and software acceleration, modern font rendering, sub-pixel hinting, LCD displays, anti-aliasing, etc.

      On the input front you have mice that with 8 buttons, multiple mice, touchpads, joysticks, touchscreens, mice that poll at varying rates with varying "resolution", etc.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    2. Re:What to make of ignorant flamebait? by caseih · · Score: 1

      All of which X11 has grown to support very capably, thank you very much. Unfortunately while X11 is indeed capable of supporting everything Windows 7 or OS X can do visually, tying everything together with polish is still something in which Linux distros lag behind. For example I have compiz fusion running right now with coverflow-style window switching, expose, etc, but getting the proprietary ATI driver running was a bit difficult. I had to edit grub.conf to add nopat to the kernel after installing the nice packages that I had to get from rpmfusion's repositories (not an automatic thing for Fedora 11 users). After all that I had to install the compiz-fusion extras and then modify /usr/bin/compiz-gtk to allow me to use the ccsm configurator (a UI nightmare!). Not something that is easy for people who just want their computer to work well and look nice.

      On the plus side, unlike any other major non-Unix OS, it still retains incredible remote capabilities without resorting to hacks like Terminal Services. In fact, remote X11 apps can, to a point, even use 3D acceleration. The idea of having per-app display settings brings a level of flexibility that, while not that important all users, is invaluable in many places where Linux desktops are used. Cytrix had to do a lot of dark magic to implement the ability to remote individual MS Windows Apps. For folks who use remote X11 apps regularly, NX (GPL FreeNX or commercial NX) will make remote apps even faster.

    3. Re:What to make of ignorant flamebait? by neiras · · Score: 1

      Varying color depth, widescreen display ratios, scaling elements to varying resolutions, transparency and composite effects, GEM, KMS, DRI, hardware and software acceleration, modern font rendering, sub-pixel hinting, LCD displays, anti-aliasing, etc. On the input front you have mice that with 8 buttons, multiple mice, touchpads, joysticks, touchscreens, mice that poll at varying rates with varying "resolution", etc.

      That's quite the list; many of the non-input related items aren't the job of the X server though. Multiple-cursor support went in this release, I believe.

      So sure, the type of work the X server is being asked to do has changed, but development has been keeping up. Ever since the switch to Xorg things have been ticking along. The new modular build system has made working on the project easier, hardware autoconfiguration works very well, and the deprecation of old cruft is continuing quite aggressively - see http://www.x.org/releases/X11R7.5/doc/RELNOTES.html#AEN620 .

      We've come a long way in the last 5 years.

    4. Re:What to make of ignorant flamebait? by TheRaven64 · · Score: 1

      X wasn't developed with the needs of modern graphics systems in mind. It was designed to be able to evolve to meet goals that weren't part of the original design. The extension mechanism was inserted for exactly this reason. Things like resolution and screen changing (XRandR), 3D acceleration (XGL), sub-pixel font AA (XRENDER), off-screen rendering and compositing with transparency (XComposite), shaped windows (XShape) and so on have been added. And they have all been added in a backwards-compatible way, so that older applications continued to work, they just didn't usually get to take advantage of them. The composite extension is an exception to this, where applications get off-screen rendering and saved from some redraws if there is a compositing manager running.

      --
      I am TheRaven on Soylent News
    5. Re:What to make of ignorant flamebait? by JasterBobaMereel · · Score: 1

      All of which X11 copes with quite nicely thank you .... ...Most of the Speed or Clunkyness complaints about X11 are actually about QT or GTK , which are Toolkits for predefined windows and controls, these do leave a lot to be desired are slow and overcomplicated

      --
      Puteulanus fenestra mortis
    6. Re:What to make of ignorant flamebait? by TD-Linux · · Score: 1

      Varying color depth - X has supported this for _years_. You can do 1bit if you really, really want.
      Widescreen display ratios - ditto.
      Scaling elements - if you want it pretty, see XRender.
      Transparency / composite - AIGLX
      GEM / KMS / DRI - these aren't new hardware, they are parts of X11.
      hardware / software acceleration - What, sofware acceleration? What is this? And X11 has supported hardware acceleration since man first put peanut butter on bread.
      modern font rendering / sub-pixel hinting - I had these back in the windows 98 days, so X11 was ahead here.
      anti-aliasing - see XRender, though most efficient apps prerender to pixel-aligned pixmaps first for efficiency, so this is a non-issue.
      I'm not going to even go into your list of inputs just because almost all have those have existed for a very very long time.

    7. Re:What to make of ignorant flamebait? by ClosedSource · · Score: 1

      E: "I suspect that X11 wasn't developed initially with today's needs in mind."

      FT: "Then perhaps you should read about the original goals of the X window system."

      Yes one of the goals was to develop a system with Tuesday November 3rd 2009's needs in mind.

      Seriously, making an extensible system is good but it doesn't mean it's going to be the optimal solution for any particular future. They'll always be scenarios that lie outside the range of anticipated extensions.

  45. Firefox did that already by Anonymous Coward · · Score: 0

    Firefox on Linux already leaned heavily on X11 just like described. The problem that caused was constant memory leaks... In X11. Firefox crashing especially tend to leave a lot of stuff into X11's raster caches. When I was still using Linux I had to restart X11 several times of day because of that problem... Your mileage may vary but for me normal usage is some 500+ tabs open simultaneously and some 10 000+ page loads in one day..

    1. Re:Firefox did that already by Loki_666 · · Score: 2, Funny

      Quote: 500+ tabs open simultaneously

      You are shitting us? How the hell can you get anything done with 500+ tabs open simultaneously? I don't think its memory leaks thats your problem. I think its the sound of the entire OS deciding enough is enough and its going to take a break.

  46. Re:Memcpy not the biggest problem for chrome/chrom by Anonymous Coward · · Score: 0

    Aren't the history files regular sqlite3 databases? You should be able to run sqlite3 vacuum on them, which should at least help somewhat.

  47. Huh?!? by gbutler69 · · Score: 1

    Do you even know what the fuck you are talking about? Do you know what XAA, EXA, UXA, etc are? You need beaten with a clue-stick!

    --
    Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
  48. Re:Memcpy not the biggest problem for chrome/chrom by mea37 · · Score: 2, Interesting

    With all due respect, it sounds like you want to blame everything negative about Chrome on one feature you don't like. Just sayin', the developers might have a reason to think that the rendering speed has something to do with the windowing system - they're a lot less likely to be just guessing and calling their guess "pretty sure".

    But for the sake of argument - if the history files are the big slow-down for Chrome, why is that slowdown less pronounced on the X11 version?

  49. Re:Even if X is usually slower... by Anonymous Coward · · Score: 0

    Framebuffer is an unaccelerated bitmap display, X11 is an accelerated graphics layer (that can use a framebuffer)

    something that writes directly to a framebuffer is going to need a lot of additional programming in order to be as fast as X11 is.

    "A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data. The same term is also often used to denote the actual memory used to hold a picture frame, depending on computer systems and context."

    It doesn't have to be unaccelerated.

  50. Uninformed and wrong by FranTaylor · · Score: 5, Interesting

    "For whatever reason, Linux drivers have NEVER taken advantage of this, and that is why Linux often looks clunky compared to Windows on the same hardware."

    This is just BLATANTLY WRONG.

    All you need to do is read the feature announcements for the nVidia and ATI display drivers, which you apparently DON'T DO.

    nVidia's REAL target market is the folks who work at animation companies, and the hard-core data visualization people. Their products are designed to fly in THIS environment. This market is VERY HEAVILY tilted toward Unix. That is WHY you can get such EXCELLENT display support under Linux. The rest of us are just piggybacking off of this.

    1. Re:Uninformed and wrong by eggnoglatte · · Score: 1

      I don't think you are talking about the same thing as the GP. Of course Linux has excellent OpenGL support for NVIDIA. The question is: are toolkits like gtk using it for their 2D rendering? Because that is what happens on both windows and mac...

    2. Re:Uninformed and wrong by Anonymous Coward · · Score: 0

      nVidia's REAL target market is the folks who work at animation companies....This market is VERY HEAVILY tilted toward Unix. That is WHY you can get such EXCELLENT display support under Linux.

      Now if only the nVidia driver for my mother's GeForce 4 MX 440 wouldn't keep crashing X on Kubuntu 9.10....

  51. What is this "X11?" by IGnatius+T+Foobar · · Score: 1

    What is this "X11" of which you speak? It sounds like some sort of Windows(tm) imitator. How can that be? Our wise leaders at Microsoft told us that using Lunix forces you to live in the command line!

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
    1. Re:What is this "X11?" by Anonymous Coward · · Score: 1, Funny

      For added laughs, I just read that the next Microsoft graphical library is going to be called DirectX 11.

      A bit like publishing (a few years after ODF) a document format in the shape of a zipped XML file and dubbing it "Office Open XML", I'm guessing..

    2. Re:What is this "X11?" by cptnapalm · · Score: 1

      Windows Direct X 11 and X Windows 11... there are going to be some very confused noobz in the near future.

    3. Re:What is this "X11?" by Anonymous Coward · · Score: 0

      Windows Direct X 11 and X Windows 11... there are going to be some very confused noobz in the near future.

      I think that's the whole idea.

  52. Chrome vs Firefox by deathguppie · · Score: 1

    I don't know about Chrome being faster on Linux than Windows, but I do know that it cleans the plate vs. Firefox on Linux. I'm using the Ubuntu version at "deb http://dl.google.com/linux/deb/ stable main" and I can finally pull Slashdot stories up in a second tab without locking up the browser while it loads. Scrolling and rendering are also noticeably faster .

    --
    once more into the breach
    1. Re:Chrome vs Firefox by aardvarkjoe · · Score: 2, Informative

      It certainly works much faster than Firefox on Linux in most circumstances. One thing I have noticed, though, is that Flash applications seem to run much more slowly in Chrome than in Firefox (to the point where Chrome becomes unusable on my computer for some sites that run acceptably in Firefox.) That seems a little weird to me, since it's the same plugin. Hopefully it's a problem that will be corrected before the official Linux release.

      That and the lack of a decent ad blocker are the main things that keep me from switching from Firefox. I really like the speed and the interface is generally a big step forward, but I don't really like having to switch between two browsers.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
  53. Re:Even if X is usually slower... by jedidiah · · Score: 2, Insightful

    X has it's problems. It also has it's advantages. Some of those
    advantages aren't so much a matter of X itself but side effects
    of the old school Unix way of approaching a problem.

    Seeing MacOS going through vnc side by side with X apps being
    run remotely (and viewed locally) certainly gives me no
    burning desire to get rid of X.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  54. Re:Even if X is usually slower... by Zordak · · Score: 3, Funny

    Really? I thought he was trying to leverage the cloud architecture to optimize his software services enterprise based on open standards.

    --

    Today's Sesame Street was brought to you by the number e.
  55. Re:Memcpy not the biggest problem for chrome/chrom by BitZtream · · Score: 1

    Files you can't limit in size, can't compress, can't optimise. Instead all you can do is to delete them and loose all your precious history information.

    If you want a bunch of features to tweak, you shouldn't be using Chrome. Its not intended to be full of a bunch of crappy features that 3 people use and 1200 extensions to make it run like crap. Its meant to be lean and mean.

    Chrome supports cleaning up the history with a few options, you can delete the last day, last week, last month, or entire thing. If you want more options, you're using the wrong browser. More features bring more bloat, which is why Firefox has become such a pig. Please don't try to make Chrome another Firefox, then we'll just have to start ANOTHER browser to get back to where it runs fast.

    Use Firefox if you want feature rich and bloated. Use Chrome if you don't want a toolbox, an Application development environment, the kitchen sink, and more code than needed to power some small countries.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  56. Why would you be surprised? by Phil+Urich · · Score: 1

    But the 4.X beta runs incredibly fast on my dual core Windows workstation. If the Linux version is significantly faster in rendering, I would be very surprised.

    Just because it runs quite fast on your machine in no way precludes it from running faster on a setup that's more optimized and/or with less overhead (ie. X11/Linux). And just because things happen in nearly the blink of an eye doesn't mean that relatively they couldn't be significantly faster...it just means that you'd be nearly unable to notice a difference and thus wouldn't be inclined to care ;) "Whoo, this webpage loaded in 0.16 seconds instead of 0.20, I'm so glad I switched operating systems!"

    (P.S. at this point, isn't dual-core the new single core? It's almost less "this system is so fast" and more "maaaan, this program is so non-bloated that it runs fine on a mere dual-core; suck it, Crysis!" I kid, I kid).

    --
    I remember sigs. Oh, a simpler time!
    1. Re:Why would you be surprised? by H0p313ss · · Score: 1

      (P.S. at this point, isn't dual-core the new single core? It's almost less "this system is so fast" and more "maaaan, this program is so non-bloated that it runs fine on a mere dual-core; suck it, Crysis!" I kid, I kid).

      Good question really... My gaming rig for the past two years has been a quad-core, I can barely tolerate the old dual-core crap my company pays for now.

      Consequently I am seriously entertaining the thought of getting a mac-pro with a PAIR of quad cores and enough ram to bathe in.

      --
      XML is a known as a key material required to create SMD: Software of Mass Destruction
  57. Strange nym by Anonymous Coward · · Score: 0

    Why are you called MemoryDragon when you've forgotten that X uses direct access to ram on a local machine?

    It doesn't use direct access to machine memory over a network, but then again you can't: it has to go over the network and if you want to use Windows GDI it wont go over the network at all (you have to have a wrapper protocol to pipe the display over, but MS is beginning to get the idea...).

    So, memorydragon, why did you forget all the thousands of times this meme has been promulgated and proven false?

    "It's been 1 hour, 7 minutes since you last successfully posted a comment"

    Good, eh? I wonder what would happen if you posted, say 10 minutes later, if 70 minutes gets you a "slow down, cowboy"?

  58. simple by jipn4 · · Score: 1

    Mac, Windows, and X11 all are client/server window systems with a separate user process for rendering. X11 was designed from the ground up for that model, while both the Mac and Windows started off with different models and tried to retrofit an X11-like model onto their existing APIs. It's not surprising that they don't do it so well.

    People tend to overestimate Windows and Mac performance for a couple of reasons. For example, Macs cache a lot more stuff than other platforms (and use a ton of memory to do it). And the X11 back-ends for cross platform libraries and ports are usually not very well written, and people blame X11 when they should be blaming those libraries.

  59. Re:Even if X is usually slower... by Anonymous Coward · · Score: 0

    I don't know why I read Framebuffer as Flamebuffer, but I guess you were trying to buffer yourself from a flame...

  60. Try out freenx by Anonymous Coward · · Score: 0

    Works great for me on a slow connection.

  61. Sounds like they need to fix the Windows builds. by BitZtream · · Score: 1

    Most of what they've listed is as the reasons its faster on X are entirely possible in Windows. Specifically, things like letting the GUI handling backing stores have been there since at least Win95, I don't know about before that, but I doubt Win 3.x or earlier had them. Sadly, it is not the default. Of course, X doesn't do it by default either.

    At a low level, I found coding for X enjoyable, but requires more work for trivial tasks. But for writing any sort of complex app, just the dependency tree alone gets to be a headache compared to how lazy you can be in OSX and Windows and still get good performance and feature balance.

    They are different environments, if you focus or code towards the style of one, the others are going to suffer. Its just as easy to code towards the Windows way of doing things and end up with some REALLY shitty X performance.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  62. It was users error - read the article by frist · · Score: 0, Redundant

    It's great to listen to the fanbois and folks who don't know what they're talking about go on and on, but.... Quoted from someone above: After doing a fresh install on both systems the guy determined that it was just some sort of freak occurrence. He had one laptop with a 2.0ghz processor and another with a 2.4ghz processor and after the reinstall on both systems, VOILA...it was only roughly a 20% difference... TFA - just keep reading further and further down the usenet post --- Personally if someone does this type of comparison on different hardware, I wouldn't even bother to read their findings. If you can't be bothered to compare it on the same hardware (where there may still be driver differences for the various OSs, but at least you're minimizing the variables) you really shouldn't be posting.

  63. Re:Memcpy not the biggest problem for chrome/chrom by Anonymous Coward · · Score: 0

    Because Linux has better I/O performance than Windows does.

  64. Re:http://www.goatse.cz by Anonymous Coward · · Score: 0

    Fucking asshole

  65. Oh dear. So wrong. by Anonymous Coward · · Score: 5, Informative

    Let's just say you're wrong and I've seen flickering on plenty of Mac OS desktops.

    And with X11, the flickering you get is more likely due to the program ignoring X backing store and "doing their own thang". Well guess: their failure isn't the fault of X11, is it.

    "To be fair to X, managing compositing et al isn't it's job---but it should be!"

    Compiz: It IS!!!

    Sheesh.

    And Enlightenment had compositing freaking YEARS ago.

    " Between X's by-design paucity of features"

    You mean like C's "paucity of features" that means libraries that do whatever you damn well want?

    There is no "by-design paucity": by design X11 is extensible. See X extensions.

    "Had X been designed a little more smartly (eg, for actual people and not for computer scientists) this probably wouldn't be such a problem."

    Uh, what design WOULD have been for "actual people"? This statement, bald as it is, makes no sense.

    X11 is designed for the task it has to solve: drawing a GUI.

    One program: one purpose. Expose capability and don't impose process: someone may think of a use you never considered when writing it, so don' t write a program that will hate them for it.

    The UNIX way.

    Which, oddly enough, Apple have embraced to a large extent since bringing out Ten.

    "By comparison, again, we have MacOS X's system, which again just works, even if in theoretical terms it's a little slower."

    Two problems: the dissing of X is how slow it is. So Ten's system being slower should be more dissed, yes?

    Secondly, ten's system doesn't just works else there would be no problem with "But Mac can't support clones, they have to have a limited selected hardware to deliver the eXPerience!". Ignoring that this just works meme is wrong. I've seen it often just stop a lot.

    "The UNIX Hater's Handbook, which is a little bit out of date now, goes into the design errors of X "

    And here we see where you've been misled.

    The UNIX paradigm is extensibility. Policy is set by the use of the program. not by its programming. And the UNIX haters hate UNIX so hate the UNIX paradigm. Ergo they hate X too.

    Maybe they're just a little bit predisposed to a priori conclusions...

    And it's not the "why does X drive people nuts" it's why do people get a stiffy when the opportunity comes to diss X?

    (oh, and a quick look at that, hmm, *discourse* seems to be a person who gets a real big boner over getting to rant and rave about how X is teh devil. Could he be any less coherent?)

  66. FYI: Firefox QT Port by mpapet · · Score: 1

    http://browser.garage.maemo.org/news/10/

    One of the architecture mistakes in the Google browser was *not* using Qt.

    --
    http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
  67. Vive la X by petrus4 · · Score: 2, Interesting

    I've noticed that X unfortunately gets a lot of metaphorical rotten vegetables thrown at it from Linux users; even people who apparently are fans of Linux in every other respect.

    In my own opinion, however, X qualifies as one of the greatest pieces of software ever written. Put it in perspective, here; the system has been in continual use and evolution since 1984. That's 25 years this year. Granted, its' configuration process in particular has needed radical reform, and fortunately it has recently got it.

    I don't understand why people criticise its' stability, either; for me it has always been rock solid, particularly on FreeBSD.

    I'm also not really surprised that Chrome might run faster under X than under Windows or the Mac. If there's one thing that's always been true of UNIX in general, it's that the system doesn't include unnecessary frills. When you're wanting to be optimised for speed in particular, that can only be a good thing.

    I love X.

  68. Re:Even if X is usually slower... by Anonymous Coward · · Score: 0

    let me try with a car analogy:

    Even If the Model-T is usually slower then Horse drawn buggies it doesn't mean it is always slower for all roads... For most roads sadly the Model-T runs slower then Horse drawn buggy based transportation. However Model-T does do better then the buggy for roads that are better made for Model-T. Model-T is great at the flight based information, It does get bogged down on bus routes. Buggie Carts wheel like trails much better then Planes automobile.

    It is not that Model-T cant handle bus route nor can buggies handle flight well. But Model-T does flight better.

  69. What? by ratboy666 · · Score: 2, Informative

    - As to overwriting. This occurs because the update events follow behind the UI. The problem is resolved by the composite extension, or by enabling backing store -OR- by increasing network bandwidth. Some old X Servers didn't have backing store (and certainly no compositing), AND ran over constrained pipes. It hasn't been a problem with desktop X for years.

    - X is extensible by design. Multiple display support, accelerated 3D, video playback and compositing do work. For $DEITY sake, I use these features on my stinky little Acer Aspire One using Linpus! No particular problems -- "it just works" (tm). I don't like transparent windows, so I just don't bother, but it does work. Why the hell would a user want to know about the alphabet soup? Just use a packaged OS. The alphabet soup comes about because the development of X is an open process.

    - And, in comparison with the Mac, you do notice that Apple packages an X Server with OS X? When running in a heterogeneous environment, it's necessary.

    - Finally, you bring up the Unix Hater's Handbook. Ok, let's break it down:

    1 - xload, xterm and xclock are possibly among the LEAST used programs under modern X based systems. They weren't
    even installed on my Acer when I got it.

    2 - Motif isn't used anymore.

    3 - Cut and Paste really isn't an issue anymore, either.

    4 - ssh -Y is usually used to remote X servers - authentication isn't an issue anymore either.

    5 - Gnome and KDE provide the "customization methods"; since xterm isn't used anymore (or xcalc, or xedit),
    the xresources issues are also gone.

    6 - imake has been deprecated for YEARS.

    7 - Pretty much nobody uses raw X protocol or XLib anymore either.

    8 - NeWS was "killed" because IBM and DEC didn't want a repeat of NFS - they didn't want to send SUN any more money. So, they marketroids forced the issue. I agree the superior technology didn't win, but X is still around. Sucks to be the customer when they get what they have been told to ask for.

    The UGH was relevant in the early '90s. No longer.

    The "MAC UI Experience" could be planted on top of X. I am disappointed that Apple isn't driving that. It would involve developing several extensions that would be useful to X users. But, if Apple doesn't want to do it, others will:

    http://www.freedesktop.org/wiki/Software/CompositeExt
    http://en.wikipedia.org/wiki/XRender
    http://keithp.com/~keithp/talks/randr/randr/
    http://en.wikipedia.org/wiki/X_video_extension
    http://docs.sun.com/app/docs/doc/801-6662/6i1196cd6?l=ja&a=view

    The first four are generally implemented. The last is not (X/DPS). But, MAC OS X only implements a subset of X/DPS anyway (and, of course, it isn't compatible).

    --
    Just another "Cubible(sic) Joe" 2 17 3061
    1. Re:What? by Random+Walk · · Score: 1

      3 - Cut and Paste really isn't an issue anymore, either.

      I beg to differ - it wasn't an issue, but now it is one. Once upon a time, every app supported the standard way of cut and paste (right and middle mouse button).. but now we have apps who do it like this, and others who want me to do Ctrl-C / Ctrl-V because someone thought it would be cool to emulate MS Windows and force me to get my hand from the mouse and to the keyboard. And then there are apps where cut and paste would work one way for some input fields, and the other way for some other input fields...

    2. Re:What? by ratboy666 · · Score: 1

      You know, you may be right -- I generally use OpenOffice, terminal sessions, Firefox, and some utilities.

      For terminal, when I use "terminal" I can cut/paste *or* middle click. But, sometimes I use xterm (so I can pass in font selection on the command line) -- then, its middle click only.

      Between OpenOffice, FireFox, Evince, its pretty much ok.

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    3. Re:What? by Anonymous Coward · · Score: 0

      > Once upon a time, every app supported the standard way of cut and paste (right and middle mouse button)..

      Technically the middle button was never "paste" in a clipboard sense, it merely spit out the selection buffer.

  70. MAC OS X by Tetsujin · · Score: 1

    No. It's MacOS 10. OS X is just stupid intentionally confusing terminology.

    X is the Roman numeral for 10. It's "Mac OS X", which I pronounce as "Mac oh-ess ten".

    I pronounce it "Mac O'Sucks"

    --
    Bow-ties are cool.
    1. Re:MAC OS X by gmhowell · · Score: 1

      I bet you spell Microsoft with a dollar sign as well.

      Do your parents know yet that you'll never be the source of grandchildren?

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    2. Re:MAC OS X by Tetsujin · · Score: 1

      I bet you spell Microsoft with a dollar sign as well.

      No, I prefer to use actual words when I talk about how shitty Microsoft is. :)

      Though I guess it should be noted that if you simply pronounce "Mac OS X" phonetically and fuck with the timing, you still don't get "Mac O Sucks" - it's more like "Mac O Sex"

      --
      Bow-ties are cool.
  71. Re:Memcpy not the biggest problem for chrome/chrom by MikeBabcock · · Score: 1

    Thanks for the inane and completely uninteresting reply. Creating an index file that cripples system performance is not actually that helpful though. Eventually the trade-off isn't one anymore and the system is too slow maintaining the index to be usable.

    --
    - Michael T. Babcock (Yes, I blog)
  72. Forwarding by Anonymous Coward · · Score: 0

    I distinctly remember sitting down with Windows 3.1 when it first came out (and on a Mac as well since we had many more Macs (Lisa's actually) at the time) and thinking "OK great, how do I get this display from that PC to that one over there" which I thought was perfectly logical thing to do since the only GUI I had used before that was X10 and the X11. The fact that it was not possible has always prejudiced me to both Windows and Mac interfaces ever since.

    1. Re:Forwarding by OrangeTide · · Score: 1

      It took the rest of the world a long time to realize that engineers and scientists like network-centric computers. But X's design isn't useful to a few people out there, so it was quickly brushed aside by Mac and Windows fans as being archaic, obsolete, slow, etc.

      --
      “Common sense is not so common.” — Voltaire
    2. Re:Forwarding by ClosedSource · · Score: 1

      "OK great, how do I get this display from that PC to that one over there"

      You just switch the cables.

      Seriously, how many PCs of the Windows 3.1 era even had network cards. Most Unix guys really have no understanding of the limitations of early PCs and embedded systems.

  73. For and against tighter integration of wm's by Tetsujin · · Score: 2, Insightful

    How much of the graphical user interface evolution on UNIX has been put back because the varying WMs and toolkits?

    It's better now that we're down to X.org and GTK or Qt, but years were wasted because you couldn't write an app that took advantage of, say, Display Postscript or multi-head or decent colour-correction or a given GUI toolkit without restricting your market.

    For a very long time---and ending not so long ago---state of the art, cross-platform GUI toolkits on UNIX started and ended with Motif. That's horrible.

    That doesn't really speak to the question of whether the window manager should be built-in...

    I mean, I don't want to sound like the situation is all roses here. Yes, as you say, there's been a lack of focus that has detracted from the overall experience. But, you gotta look at the bright side, too. Suppose Motif and/or mwm had been integrated tightly into the X server... Where would we be now? We'd still be stuck with it, probably... Would we really be happier knowing that a clear direction had been chosen, if that clear direction sucked?

    I think the lack of focus is an unavoidable consequence of a system that's developed without clear-cut, authoritative leadership. That's a down-side of using a system that's not been designed by a single group like Microsoft or Apple. But the up-shot is that a system like that is open to experimental ideas. The result isn't a true meritocracy of software (that is, no matter how good a piece of software you might write for a particular task, there are still practical problems in terms of getting people to invest themselves in using it) but there are always options...

    Going back to the question of tighter integration of the wm with the X server - I remain unconvinced. I could see how X could benefit from better compositing support and other features to make wm's behave better, but I don't see what the benefit would be of having the wm built right in to the X server. It seems like running it on the local machine is just as good...

    --
    Bow-ties are cool.
  74. Upstream X devs by Sits · · Score: 1

    Intel pay for a lot of X devs at the moment who do upstream development as well as Intel driver development: Eric Anholt, Jesse Barnes, Keith Packard (of at least Xrandr and COMPOSITE fame), Ian Romanick, Carl Worth...
    Red Hat employ some upstream X devs too: Dave Airlie, Peter Hutterer, Adam Jackson, Kristian Høgsberg (who made Wayland) spring to immediate mind (I think they also used to emply Jesse and Carl)
    Novell employ Matthias Hopf.
    Nokia employ Daniel Stone.

    There's an (incomplete?) list of xorg devs on ohloh. Just because you haven't heard of them doesn't mean they aren't out there hacking away...

  75. I would answer you by Anonymous Coward · · Score: 0

    I would answer you but slashdot thinks that over 3 hours between posts is far too long and I need to slow down.

  76. Comment removed by account_deleted · · Score: 3, Informative

    Comment removed based on user account deletion

  77. Wrong by Kludge · · Score: 2, Insightful

    The window manager should have been part of X from the get-go.

    The window manager should NOT be part of X. Choice of window managers is a good thing. And what is even better is choosing and changing window managers without logging out. Or running them in different windows (really handy sometimes.)
    99% of users don't do that you say? I don't care. It's nerdy goodness, and this is news for nerds.

  78. Re:Even if X is usually slower... by Anonymous Coward · · Score: 0

    I already applied for the patent on that.

  79. Re:Memcpy not the biggest problem for chrome/chrom by Anonymous Coward · · Score: 0

    If you want a bunch of features to tweak, you shouldn't be using Chrome. Its not intended to be full of a bunch of crappy features that 3 people use and 1200 extensions to make it run like crap. Its meant to be lean and mean.

    Do you really think that asking for an option to limit the size of the 'cache' is unreasonable?

    Of course it's meant to be lean and mean, however it's not because of the problems with the history cache.

  80. Re:Memcpy not the biggest problem for chrome/chrom by Anonymous Coward · · Score: 0

    Useful options for cleaning up the history would be for example delete all data older than the past month while keeping the history information of the pages you usually visit (the ones you accessed in the last month).
    As it is implemented now, is useless.

  81. Re:Even if X is usually slower... by Anonymous Coward · · Score: 0

    Even If X is usually slower for all applications... For most applications sadly X11 runs slower for all applications sadly X11 runs slower then Vector Graphics.

    It is not that X11 cant handle Bitmapped images. Framebuffer handle Bitmaps much better made for all applications... For most applications sadly X11 runs slower for all applications sadly X11 cant handle Bitmaps nor can Framebuffer based information, It doesn't mean it is always slower then the Framebuffer based information, It does get bogged down on bitmapped images. Framebuffer OS GUI like Bitmapped images. Framebuffer handle Bitmaps much better then the Framebuffer handle Vector better made for X. X11 is great at the vector based GUIs. However X11 does get bogged down on bitmapped images. Framebuffer OS GUI like Bitmaps nor can Framebuffer based GUIs. However X11 does Vector.

    Courtesy of Markov

  82. It's a Window System called X. by anon+mouse-cow-aard · · Score: 1
    A lot of folks misunderstanding does not make them correct.

    X is the name of the thing. It is a window system. There should be no 's' at the end. "Window" is not part of the name. Look at any copyright notice, or any related site, like: http://www.xfree86.org/ "Home of the X Window System." The display server is an X Server, not an X-Windows Server. the clients are X clients, not X-windows clients. Look at the wikipedia article, it refers to the X protocol, X terminals, ad nauseam ...

    So yeah, there should darn well better be a [sic].

  83. Re:Memcpy not the biggest problem for chrome/chrom by xtracto · · Score: 1

    Eventually the trade-off isn't one anymore and the system is too slow maintaining the index to be usable.

    That is a problem with the design of your selected indexing program (Google Desktop Search from your previous post). Try something like Copernic Pro for a change. There is also PocketSearch which is free.

    --
    Ubuntu is an African word meaning 'I can't configure Debian'
  84. Re:Even if X is usually slower... by LS · · Score: 1

    No, he said it very clearly: He's trying to render a framebuffer OS GUI like bitmaps when instead he should be using vector based information, using a Synergy2 client with cloud-based actionscript pseudo-code, reverse-compiled on a middle-endian pdp-12 zipdisk array. You thought Web-2.0 was easy. Don't be so condescending....

    --
    There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
  85. Flash? by oglueck · · Score: 1

    Who cares, when a Youtube Flash video is eating almost 100% of your CPU because it's idiotic use of X11? Playing a plain MPG video in mplayer uses almost no CPU.

  86. Re:Memcpy not the biggest problem for chrome/chrom by MikeBabcock · · Score: 1

    My complaint was specifically about Google Desktop. It was related to the parent's comment about a design inefficiency in Google's Chrome.

    At no point did I complain that I wanted a better desktop search option, nor did I say I hadn't found one if I was. My comment was solely and quite obviously interconnecting the two as a Google database inefficiency in their desktop db design.

    Please learn to read context before replying.

    --
    - Michael T. Babcock (Yes, I blog)
  87. nx speeds up remote X usage dramatically by Nivag064 · · Score: 1

    If you use 'nx' on both the server and client machines, you will find x applications running much faster.

    The nx application intelligently caches x commands.

    # yum info nx
    Loaded plugins: refresh-packagekit
    [...]
    Installed Packages
    Name : nx
    Arch : x86_64
    Version : 3.3.0
    Release : 38.fc10
    Size : 12 M
    Repo : installed
    From repo : updates
    Summary : Proxy system for X11
    URL : http://www.nomachine.com/
    License : GPLv2 and MIT
    Description: NX provides a proxy system for the X Window System.

    #