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?"

10 of 542 comments (clear)

  1. 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
  2. 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.

  3. 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

  4. 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 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.

  5. 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.
  6. 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.

  7. 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
  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 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.