Announcement

Collapse
No announcement yet.

The Current Windows 10 vs. Linux Browser Performance For Google Chrome + Mozilla Firefox

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #51
    Originally posted by andyprough View Post

    And yet, Windows has serious memory leaks when running browsers, and often isn't capable of shutting one down without leaving multiple zombie processes running. Maybe there's something to be said for clean code?
    That's only Chrome though.

    Comment


    • #52
      Originally posted by xiando View Post
      Since nobody's mentioned this yet: Both Chromium and Firefox disable GPU acceleration by default on GNU/Linux. These tests were done with default settings and are therefore not shocking. While this doesn't excuse the default poor performance on GNU/Linux, it does explain just why
      this happens to be the case.

      You can test the effect of this yourself by going to chrome://gpu to see what's disabled and chrome://flags where you want to enable "Override software rendering list", "GPU rasterization", "Out of process rasterization", "Zero-copy rasterizer" and Viz Display Compositor (OOP-D).

      In Firefox go to about:support and see what's what. Under Graphics you will likely find Compositing "basic" and AzureCanvasAccelerated 0. In Firefox 65+ you can
      go to about:config and look for gfx.webrenderer.all and set this to true. Go to about:support again and Compositing should now say WebRender.

      You can change this to true if you're using an older version of Firefox which doesn't have WebRender: layers.acceleration.force-enabled and create a New, boolean called gfx.canvas.azure.accelerated and set it to true. Now about:support should show Compositing OpenGL and AzureCanvasAccelerated 1.

      It's kind of sad that the GNU/Linux defaults in both Chromium and Firefox ensure poor performance - but that's the situation we're in.

      One last related small detail which annoys me: If you go to chrome://gpu in chromium you'll find a list of supposed "Problems detected" and "workarounds". The checks here are typically very broad like "is it MESA?" and if it is any version of MESA, new or old doesn't matter, then it's always best to work around a MESA bug fixed 5 years ago.. because it's MESA. And if it's an AMD GPU using MESA then it's clearly best to work around a bug in AMDs binary blob proprietary driver because it is, in fact, some GPU from AMD and further checks or information seems to be irrelevant. Not sure if the people making these decision don't care or don't have time or what's going on.
      An additional thing I have found with many Chromium builds, is that they are "Chromium" builds. The Chromium source code considers that a developer build and disables optimizations they would otherwise have if is_official_build=true and is_chrome_branded=true are set. Of course some distros might have hacked that, but by default Chromium builds are less optimized than Chrome builds, and you can't just simply enable them as things like using system libraries instead of bundles libraries is not allowed for official builds, so it requires a number of patches ontop of the source to get a well working fully optimized Chromium build.

      Comment


      • #53
        Originally posted by Weasel View Post
        Apart from the obvious, it's probably also the advantage of closed source, no sarcasm. Nobody in their right mind releases in some stupid shit Debug mode (because it leaks source code info), while it's "the default" on some crappy build systems in open source because why not. Open Source devs tend to not give a shit about the end users or end binary quality (how can you "forget" something is in debug build, wtf, they don't even inspect their binaries), just to keep their stupid code clean.
        Meanwhile in close source land this happened: https://www.redteam-pentesting.de/en...data-retrieval

        RedTeam Pentesting found out that one could fetch the current configuration of Cisco routes (including usernames, passwords and ipsec secrets) by fetching a debug url "/cgi-bin/export_debug_msg.exp".

        Cisco sent out a fix four months later in where they simply denied requests where User-Agent was "curl". Yep they where exactly this stupid.

        Comment


        • #54
          I have a powerful Windows 10 machine (16 Gb) at work and Firefox is leaking memory every couple of hours from everywhere with around 20-25 tabs open (regularly closed), even if I kill the sub-processes.
          On my average Linux setup at home (also 16 Gb), I have 100+ processes open (including Netflix and Prime Video) and yet it's fresh and reactive. Never leaking memory from all sides.
          It's definitely slower on Windows as well but I suspect I should blame company filters (anti-virus, traffic analysis, vpn, etc...) for that. My experience is much better on Linux.

          Comment


          • #55
            Originally posted by Aeder View Post

            Nah, with default settings (which is what the test used) a shit-ton of performance options are disabled on Linux, this has nothing to do with the OS and more to do with Mozilla not prioritizing work to get those functions working under Linux at all.

            The fact that it beats the windows version on some tests or even comes close to it with a bunch of accelerated rendering options disabled is already pretty amazing.
            2D acceleration has always been faster on Windows than on Linux because Windows has a better suited architecture for that.

            Also your "shit-ton of performance options are disabled on Linux" is nothing but lies. I've never heard of anything that Mozilla deliberately disables for Linux. In fact last time I checked they use the same compiler (clang) and compilation options for Windows, MacOS and Linux.

            But I presume you're a fanboy and you hate to see the hard facts that Linux still sucks, so you invent all sorts of BS to justify Linux' poor performance.

            Comment


            • #56
              Originally posted by birdie View Post

              2D acceleration has always been faster on Windows than on Linux because Windows has a better suited architecture for that.

              Also your "shit-ton of performance options are disabled on Linux" is nothing but lies. I've never heard of anything that Mozilla deliberately disables for Linux. In fact last time I checked they use the same compiler (clang) and compilation options for Windows, MacOS and Linux.

              But I presume you're a fanboy and you hate to see the hard facts that Linux still sucks, so you invent all sorts of BS to justify Linux' poor performance.
              Default config on Fedora 29:



              Default config on Windows 10:




              Have you ever considered that jumping straight into pre-emptive personal attacks just makes you look deranged?

              Comment


              • #57
                Originally posted by Aeder View Post

                Default config on Fedora 29:



                Default config on Windows 10:




                Have you ever considered that jumping straight into pre-emptive personal attacks just makes you look deranged?
                WebRender has nothing to do with OS 2D performance or compilation options. Also, I've already tried WebRender on Linux and it does not make Firefox too much faster.

                Also, WebRender is one option. You said "a shit-ton of performance options". A "shit-ton" in my world is at the very least ten, more like a hundred. Of course, you won't name even three options disabled on Linux.
                Last edited by birdie; 04 April 2019, 01:10 PM.

                Comment


                • #58
                  Originally posted by birdie View Post

                  OMG. You really don't understand what you're talking about. WebRender has nothing to do OS 2D performance or compilation options. Also, I've already tried WebRender on Linux and it does not make Firefox too much faster.

                  Also, WebRender is one option. You said "a shit-ton of performance options". A "shit-ton" in my world is at the very least ten, more like a hundred. Of course, you won't name even three options disabled on Linux.

                  Now please kindly fuq off. You really are a rabid fanboy.
                  So you're gonna ignore HW_COMPOSITING being disabled? Are you saying having no GPU acceleration at all won't affect benchmarks?

                  If you take issue with hyperbole, fine, but that's not the main point nor what I care about.

                  Also I'm apparently a rabid fanboy despite being able to provide caps from both my Win10 partition and my Linux partition.
                  Last edited by Aeder; 04 April 2019, 10:31 AM.

                  Comment


                  • #59
                    Originally posted by birdie View Post

                    2D acceleration has always been faster on Windows than on Linux because Windows has a better suited architecture for that.

                    Also your "shit-ton of performance options are disabled on Linux" is nothing but lies. I've never heard of anything that Mozilla deliberately disables for Linux. In fact last time I checked they use the same compiler (clang) and compilation options for Windows, MacOS and Linux.

                    But I presume you're a fanboy and you hate to see the hard facts that Linux still sucks, so you invent all sorts of BS to justify Linux' poor performance.
                    There are quite a few performance settings that can be changed that makes Firefox a hell of a lot more responsive on Linux. Did a quick scan of my about:config and here are some of the more important ones I've set. Like I posted earlier, Google is your friend.

                    gfx.webrender.all
                    webgl.msaa.force
                    webgl.force.enable
                    gl.msaa.level (I set it to 4)
                    gfx.webrender.enable
                    gfx.canvas.azure.accelerated (doesn't exist by default; you'll want it true)
                    layout.display-list.retain.chrome
                    layers.acceleration.force-enabled
                    dom.webgpu.enable
                    media.av1.enabled
                    media.av1.use-dav1d
                    media.gpu-process-decoder
                    browser.preferences.defaultPerformanceSettings.ena bled (you'll want that to be false)

                    Except for the last one and the msaa level, they should all be set to true. Yeah, I have x4 msaa enabled in Firefox. It's an option so why not?
                    Last edited by skeevy420; 04 April 2019, 10:42 AM. Reason: typo

                    Comment


                    • #60
                      Originally posted by Bsdisbetter View Post
                      Prior to Windows 8? this was not an issue. This is a design decision from MS. It doesn't have to be.
                      I don't mean that Windows' core design technically forces updates to interrupt work, just that it's a current technical feature of Windows.

                      Originally posted by Bsdisbetter View Post
                      Yes, packages (and ports) are very handy. Why do they exist? Because often the budgets of developers doesn't spread so far to have a web presence to advertise their wares. I think it also stemmed from the old BBSs and usenet.
                      Likewise, because of the vast swathe of MS Windows users, dozens of magazines, web site reviews point people to software. Software is in stores, on shelves. It's just a different model, again, and just can't be compared. Of course, finally, there's also cost.
                      But my point is that I don't have to hit 20 different websites to get Java, Python, VLC, emacs, Chromium, Shotwell, etc... etc... and then click through each installer.

                      Originally posted by Bsdisbetter View Post
                      Benchmarks are nice eye candy, but, realistically, most businesses that have MS windows desktop/server do so for convenience and a better pool of knowledge. I suspect very few would look at benchmarks for the disk filesystem and decline to use MS. Everything looks fast on SANs populated by SSDs.
                      Maybe it's an unusual case, but I use git on a very large codebase. git status, git diff, git checkout, etc... finish in fractions of a second on Linux even with traditional spinning platter drives. On my work laptop with Windows 10 and an SSD, even with antivirus completely off the operations take many seconds. It's maddening, and the entire team experiences it.

                      For smaller git repos with shorter histories, there is no such pain. But my employer makes me regret that they replaced my Linux laptop with a Windows one every single work day.

                      Originally posted by Bsdisbetter View Post
                      Again, this is a matter of commercial versus 'free'. It's comparing Apples/Oranges, basically. Unless you want to correlate it to the browser benchmarks here, which perfectly illustrate that commercial Google sees merit in making their browsers more efficient on MS because GNU/Linux and BSD users have the reputation of not wanting to pay for anything; deserved or not. Mozilla knows it's got more eyeballs in windows than linux. (personally, firefox is a load of garbage now, bloated and slow and tries to look too much like windows 10 gui - ack!).
                      Windows users aren't paying Google or Mozilla anything for Chrome or Firefox either. Google and Mozilla don't focus on Windows because Linux and BSD users are cheap, they focus on Windows because Windows still has 90% of consumer desktops worldwide.

                      Originally posted by Bsdisbetter View Post
                      Again, this is a commercial decision. Desktop users have no need to log in other than once. MS knows this, that's how they design it.
                      The whole HTTP/HTML thing is making logging in by individual users into Unix systems somewhat of an historical legacy. It's all web interfaces and the like.
                      I grant your second point. On your first one, I worked at a small business -- too small to get any serious attention from Microsoft sales and support. So we were constantly running into licensing errors with remote desktop logins. We set up some Linux servers, put Xfce and Xrdp on them, and the problem was solved - the only time we had login problems was when the servers were overloaded. But it's better to have a server with ten people logged in and active struggle when an eleventh person tries than to have a server that balks on the sixth login for licensing reasons while it's mostly idle because four of the people logged in haven't done anything with that session in ten minutes.

                      Originally posted by Bsdisbetter View Post
                      I'm not mentioning systemd here...
                      If you can use bash but you can't modify systemd .service files, there's something wrong with you.

                      Comment

                      Working...
                      X