Announcement

Collapse
No announcement yet.

GNOME 3.18 On Fedora 23: X.Org vs. Wayland Performance

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

  • #21
    Originally posted by oleid View Post
    So, Wayland is faster in any case on my card, even when running Xwayland
    If you turn off network and disable sound card xonotic can go even better... On broken system xonotic can go 30% faster

    That is how it is with software performance, you broke something else (be it compliance, compatibility, other vendors, or even your own users...) to gain more

    So I am impressed with 2-3% in range of statistical error difference
    Last edited by dungeon; 24 September 2015, 05:35 PM.

    Comment


    • #22
      Originally posted by oleid View Post
      So on wayland/gnome-shell, it doesn't matter whether to use X11 or Wayland directly. I'll try weston next.
      As drago01 said:

      No it has nothing to do with XWayland. The compositor does not unredirect any windows doesn't matter whether they are X wayland windows or not.
      Note: I started working on that feature but never finished it.
      That's why weston is the fastest, since it already has that feature afaik.

      Comment


      • #23
        Does wayland provide or have some easy way to capture video and audio of desktop activity ?

        Comment


        • #24
          Originally posted by oleid View Post
          These are my results when using weston/wayland:

          10510 frames 66.6644583 seconds 157.6552225 fps, one-second fps min/avg/max: 104 168 315 (336 seconds)
          10510 frames 66.6878002 seconds 157.6000404 fps, one-second fps min/avg/max: 100 169 313 (336 seconds)
          10510 frames 66.5439478 seconds 157.9407347 fps, one-second fps min/avg/max: 101 169 316 (336 seconds)

          And here for plain X11 with SwapBufferWait=false in xorg.conf:

          10510 frames 69.2300397 seconds 151.8127110 fps, one-second fps min/avg/max: 98 162 307 (336 seconds)
          10510 frames 69.0547658 seconds 152.1980400 fps, one-second fps min/avg/max: 98 163 311 (336 seconds)
          10510 frames 70.0133284 seconds 150.1142745 fps, one-second fps min/avg/max: 99 160 307 (336 seconds)

          So, Wayland is faster in any case on my card, even when running Xwayland
          As leonmaxx said above, it's SDL_VIDEODRIVER, not SDL_VIDEO_DRIVER. Are you sure you had it set correctly?

          Comment


          • #25
            My results on gnome-shell wayland:
            Code:
            [ben@puddingpc ~]$ for i in wayland x11; do for j in 1 2 3; do echo -n "$i $j "; vblank_mode=0 SDL_VIDEODRIVER=$i xonotic-sdl -benchmark demos/the-big-keybench |& grep fps; done; done
            wayland 1 10510 frames 76.6402553 seconds 137.1341987 fps, one-second fps min/avg/max: 63 151 283 (336 seconds)
            wayland 2 10510 frames 76.8165649 seconds 136.8194479 fps, one-second fps min/avg/max: 64 151 268 (336 seconds)
            wayland 3 10510 frames 76.1671124 seconds 137.9860635 fps, one-second fps min/avg/max: 64 152 291 (336 seconds)
            x11 1 10510 frames 75.3990994 seconds 139.3915853 fps, one-second fps min/avg/max: 61 154 284 (336 seconds)
            x11 2 10510 frames 75.2976137 seconds 139.5794565 fps, one-second fps min/avg/max: 60 155 275 (336 seconds)
            x11 3 10510 frames 76.1730403 seconds 137.9753250 fps, one-second fps min/avg/max: 62 153 273 (336 seconds)
            Note that "x11", above, is really XWayland; gnome-shell X11 results in a minute or 5...done:
            Code:
            [ben@puddingpc ~]$ for i in 1 2 3; do echo -n "$i "; vblank_mode=0 SDL_VIDEODRIVER=x11 xonotic-sdl -benchmark demos/the-big-keybench |& grep fps; done
            1 10510 frames 77.4761993 seconds 135.6545636 fps, one-second fps min/avg/max: 66 149 256 (336 seconds)
            2 10510 frames 77.5426347 seconds 135.5383402 fps, one-second fps min/avg/max: 61 149 262 (336 seconds)
            3 10510 frames 77.1779042 seconds 136.1788729 fps, one-second fps min/avg/max: 64 149 263 (336 seconds)
            So, difference between Wayland and XWayland is minimal, and both are about 3% faster than running on a full-blown Xserver.
            Last edited by Nobu; 25 September 2015, 04:22 AM.

            Comment


            • #26
              So, as you mentioned, I used the wrong env variable sometimes. Thus, I redid all the benchmarks and included openbox for reference:

              Linked against SDL version 2.0.3
              Using SDL library version 2.0.3
              GL_VENDOR: X.Org
              GL_RENDERER: Gallium 0.4 on AMD JUNIPER (DRM 2.43.0, LLVM 3.8.0)
              GL_VERSION: 3.0 Mesa 11.1.0-devel (git-5cede90)
              vid.support.arb_multisample 1
              vid.support.gl20shaders 1
              NOTE: requested 1x AA, got 0x AA
              Video Mode: fullscreen 1920x1080x32x0.00hz

              1:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Juniper PRO [Radeon HD 5750]
              NOTE: SwapBufferWait=false is set in xorg.conf

              gnome-shell/Xorg
              x11 1 10510 frames 68.9854638 seconds 152.3509364 fps, one-second fps min/avg/max: 99 162 304 (336 seconds)
              x11 2 10510 frames 68.4020753 seconds 153.6503090 fps, one-second fps min/avg/max: 101 164 319 (336 seconds)
              x11 3 10510 frames 69.3647596 seconds 151.5178609 fps, one-second fps min/avg/max: 100 162 308 (336 seconds)

              gnome-shell/Wayland
              wayland 1 10510 frames 68.5319938 seconds 153.3590287 fps, one-second fps min/avg/max: 101 162 320 (336 seconds)
              wayland 2 10510 frames 68.8621878 seconds 152.6236725 fps, one-second fps min/avg/max: 102 161 288 (336 seconds)
              wayland 3 10510 frames 68.9705605 seconds 152.3838566 fps, one-second fps min/avg/max: 102 162 312 (336 seconds)
              x11 1 10510 frames 67.8624577 seconds 154.8720803 fps, one-second fps min/avg/max: 99 166 312 (336 seconds)
              x11 2 10510 frames 67.6429668 seconds 155.3746161 fps, one-second fps min/avg/max: 98 166 315 (336 seconds)
              x11 3 10510 frames 67.6854664 seconds 155.2770566 fps, one-second fps min/avg/max: 101 166 325 (336 seconds)

              openbox/Xorg
              x11 1 10510 frames 69.4556688 seconds 151.3195420 fps, one-second fps min/avg/max: 97 161 315 (336 seconds)
              x11 2 10510 frames 69.4475046 seconds 151.3373312 fps, one-second fps min/avg/max: 99 161 310 (336 seconds)
              x11 3 10510 frames 69.0710755 seconds 152.1621016 fps, one-second fps min/avg/max: 97 163 326 (336 seconds)

              weston/Wayland
              wayland 10510 frames 66.5820888 seconds 157.8502596 fps, one-second fps min/avg/max: 102 169 315 (336 seconds)
              wayland 10510 frames 66.7433517 seconds 157.4688674 fps, one-second fps min/avg/max: 103 168 323 (336 seconds)
              wayland 10510 frames 66.7520232 seconds 157.4484114 fps, one-second fps min/avg/max: 102 169 312 (336 seconds)

              The gnome-shell/Wayland benchmarks were faulty, since sdl defaulted to either wayland or x11 - I don't know.

              So to conclude: To get maximum performance, use weston/Wayland. gnome-shell needs the fullscreen patches to be on par with weston. And XWayland doesn't seems not to be the bottle neck on gnome-shell/weston. Finally, gnome-shell on X11 is as fast as openbox, when it comes to gaming.
              Last edited by oleid; 25 September 2015, 04:43 AM.

              Comment


              • #27
                oleid

                You use DRI2 under X? Did you tried glamor and DRI3 under X? DRI3 made that kind on difference for radeonsi, not sure for that r600.

                Your numbers looks like what i had getting when comparing DRI2 vs DRI3 in xonoitic, same diff like 3-5% CPU overhead... but yeah on radeonsi.
                Last edited by dungeon; 25 September 2015, 05:33 AM.

                Comment


                • #28
                  Originally posted by dungeon View Post
                  oleid

                  You use DRI2 under X? Did you tried glamor and DRI3 under X?
                  Yep, DRI2. I used ArchLinux's defaults and AFAIK DRI3 isn't enabled in the mesa builds, not even in the unstable ones.

                  Comment


                  • #29
                    Originally posted by oleid View Post

                    Yep, DRI2. I used ArchLinux's defaults and AFAIK DRI3 isn't enabled in the mesa builds, not even in the unstable ones.
                    Hm well i don't use Arch, but it should be enabled intel uses it by default ... i think you need recent ati ddx and just enable it in xorg.conf Option "DRI3"
                    Last edited by dungeon; 25 September 2015, 07:14 AM.

                    Comment


                    • #30
                      Originally posted by yzsolt View Post
                      This is because Gnome expects clients to draw the decoration under Wayland. It's problematic with SDL, GLFW and other OpenGL windowing frameworks, because they'll probably never draw decorations - it's not their job. There's currently no solution: Wayland clients can't request decoration from the server, and even if they could, Gnome devs don't want to maintain the server decoration code in the compositor, so Gnome would just ignore the request. AFAIK KDE devs went for server-side decorations, so there's no problem like this on their side.
                      Gnome is my one and only desktop, but this little (?) issue somewhat annoys me. If you're a game developer and want your game to be displayed properly in windowed mode under Gnome and Wayland, you should use a toolkit - mainly GTK or Qt... Nobody will ever do that. I'm wondering what will be the solution once Wayland becomes the number one display protocol.
                      Someone should just take the decorator code from GTK or Qt and make a minimalistic barebones library that can be used together with either SDL.

                      Comment

                      Working...
                      X