Announcement

Collapse
No announcement yet.

New XWayland API Proposed For Better Performance

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

  • #11
    Yea, in XWayland, every application is rootless, so every application is always running in fullscreen as far as X is concerned. So this should help everything, if I'm not mistaken.

    Comment


    • #12
      Originally posted by TheBlackCat View Post
      Uh, people don't watch full-screen video much?
      I don't think that case should be considered, since most popular media players should get ported natively.

      Comment


      • #13
        Originally posted by GreatEmerald View Post
        Yea, in XWayland, every application is rootless, so every application is always running in fullscreen as far as X is concerned. So this should help everything, if I'm not mistaken.
        ^THIS^

        I'm still waiting on XWayland composite bypass for "fullscreen applications", which because of ^THIS^ means every application :P
        Then XWayland will at least be as-fast if not sometimes faster than native X...

        Comment


        • #14
          Here are the complete benchmarks:


          The benchmarks are done with glmark2 on an intel hd4000, fullscreen(1920x1080):

          X, with sna, on Kwin:

          Code:
          =======================================================
              glmark2 2012.12
          =======================================================
              OpenGL Information
              GL_VENDOR:     Intel Open Source Technology Center
              GL_RENDERER:   Mesa DRI Intel(R) Ivybridge Mobile 
              GL_VERSION:    3.0 Mesa 9.3.0-devel (git-15da955)
          =======================================================
          [build] use-vbo=false: FPS: 434 FrameTime: 2.304 ms (* note: This is noise. Go see next test. The intel card has to wake up*)
          [build] use-vbo=true: FPS: 625 FrameTime: 1.600 ms
          [texture] texture-filter=nearest: FPS: 607 FrameTime: 1.647 ms
          [texture] texture-filter=linear: FPS: 607 FrameTime: 1.647 ms
          [texture] texture-filter=mipmap: FPS: 600 FrameTime: 1.667 ms
          [shading] shading=gouraud: FPS: 537 FrameTime: 1.862 ms
          [shading] shading=blinn-phong-inf: FPS: 539 FrameTime: 1.855 ms
          [shading] shading=phong: FPS: 539 FrameTime: 1.855 ms
          [bump] bump-render=high-poly: FPS: 404 FrameTime: 2.475 ms
          [bump] bump-render=normals: FPS: 596 FrameTime: 1.678 ms
          [bump] bump-render=height: FPS: 603 FrameTime: 1.658 ms
          [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 329 FrameTime: 3.040 ms
          [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 173 FrameTime: 5.780 ms
          [pulsar] light=false:quads=5:texture=false: FPS: 505 FrameTime: 1.980 ms
          [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 165 FrameTime: 6.061 ms
          [desktop] effect=shadow:windows=4: FPS: 276 FrameTime: 3.623 ms
          [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 395 FrameTime: 2.532 ms
          [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 389 FrameTime: 2.571 ms
          [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 409 FrameTime: 2.445 ms
          [ideas] speed=duration: FPS: 470 FrameTime: 2.128 ms
          [jellyfish] <default>: FPS: 316 FrameTime: 3.165 ms
          [terrain] <default>: FPS: 49 FrameTime: 20.408 ms
          [shadow] <default>: FPS: 178 FrameTime: 5.618 ms
          [refract] <default>: FPS: 67 FrameTime: 14.925 ms
          [conditionals] fragment-steps=0:vertex-steps=0: FPS: 523 FrameTime: 1.912 ms
          [conditionals] fragment-steps=5:vertex-steps=0: FPS: 529 FrameTime: 1.890 ms
          [conditionals] fragment-steps=0:vertex-steps=5: FPS: 524 FrameTime: 1.908 ms
          [function] fragment-complexity=low:fragment-steps=5: FPS: 525 FrameTime: 1.905 ms
          [function] fragment-complexity=medium:fragment-steps=5: FPS: 528 FrameTime: 1.894 ms
          [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 525 FrameTime: 1.905 ms
          [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 524 FrameTime: 1.908 ms
          [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 529 FrameTime: 1.890 ms
          =======================================================
                                            glmark2 Score: 438 
          =======================================================
          Under XWayland, with wlglamor, without AsyncSwap support:
          Code:
          =======================================================
              glmark2 2012.12
          =======================================================
              OpenGL Information
              GL_VENDOR:     Intel Open Source Technology Center
              GL_RENDERER:   Mesa DRI Intel(R) Ivybridge Mobile 
              GL_VERSION:    3.0 Mesa 9.3.0-devel (git-15da955)
          =======================================================
          [build] use-vbo=false: FPS: 538 FrameTime: 1.859 ms
          [build] use-vbo=true: FPS: 556 FrameTime: 1.799 ms
          [texture] texture-filter=nearest: FPS: 559 FrameTime: 1.789 ms
          [texture] texture-filter=linear: FPS: 562 FrameTime: 1.779 ms
          [texture] texture-filter=mipmap: FPS: 547 FrameTime: 1.828 ms
          [shading] shading=gouraud: FPS: 488 FrameTime: 2.049 ms
          [shading] shading=blinn-phong-inf: FPS: 484 FrameTime: 2.066 ms
          [shading] shading=phong: FPS: 489 FrameTime: 2.045 ms
          [bump] bump-render=high-poly: FPS: 382 FrameTime: 2.618 ms
          [bump] bump-render=normals: FPS: 570 FrameTime: 1.754 ms
          [bump] bump-render=height: FPS: 543 FrameTime: 1.842 ms
          [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 322 FrameTime: 3.106 ms
          [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 173 FrameTime: 5.780 ms
          [pulsar] light=false:quads=5:texture=false: FPS: 458 FrameTime: 2.183 ms
          [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 166 FrameTime: 6.024 ms
          [desktop] effect=shadow:windows=4: FPS: 271 FrameTime: 3.690 ms
          [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 339 FrameTime: 2.950 ms
          [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 352 FrameTime: 2.841 ms
          [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 368 FrameTime: 2.717 ms
          [ideas] speed=duration: FPS: 397 FrameTime: 2.519 ms
          [jellyfish] <default>: FPS: 302 FrameTime: 3.311 ms
          [terrain] <default>: FPS: 49 FrameTime: 20.408 ms
          [shadow] <default>: FPS: 180 FrameTime: 5.556 ms
          [refract] <default>: FPS: 68 FrameTime: 14.706 ms
          [conditionals] fragment-steps=0:vertex-steps=0: FPS: 487 FrameTime: 2.053 ms
          [conditionals] fragment-steps=5:vertex-steps=0: FPS: 496 FrameTime: 2.016 ms
          [conditionals] fragment-steps=0:vertex-steps=5: FPS: 482 FrameTime: 2.075 ms
          [function] fragment-complexity=low:fragment-steps=5: FPS: 488 FrameTime: 2.049 ms
          [function] fragment-complexity=medium:fragment-steps=5: FPS: 492 FrameTime: 2.033 ms
          [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 481 FrameTime: 2.079 ms
          [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 489 FrameTime: 2.045 ms
          [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 492 FrameTime: 2.033 ms
          =======================================================
                                            glmark2 Score: 408 
          =======================================================
          sna seems to do copies faster than glamor, which explains the better performance with sna.

          Under XWayland, with new Api, new wlglamor, AsyncSwap enabled in X:
          Code:
          =======================================================
              glmark2 2012.12
          =======================================================
              OpenGL Information
              GL_VENDOR:     Intel Open Source Technology Center
              GL_RENDERER:   Mesa DRI Intel(R) Ivybridge Mobile 
              GL_VERSION:    3.0 Mesa 9.3.0-devel (git-15da955)
          =======================================================
          [build] use-vbo=false: FPS: 1331 FrameTime: 0.751 ms
          [build] use-vbo=true: FPS: 1504 FrameTime: 0.665 ms
          [texture] texture-filter=nearest: FPS: 1821 FrameTime: 0.549 ms
          [texture] texture-filter=linear: FPS: 1845 FrameTime: 0.542 ms
          [texture] texture-filter=mipmap: FPS: 1811 FrameTime: 0.552 ms
          [shading] shading=gouraud: FPS: 976 FrameTime: 1.025 ms
          [shading] shading=blinn-phong-inf: FPS: 983 FrameTime: 1.017 ms
          [shading] shading=phong: FPS: 993 FrameTime: 1.007 ms
          [bump] bump-render=high-poly: FPS: 725 FrameTime: 1.379 ms
          [bump] bump-render=normals: FPS: 1887 FrameTime: 0.530 ms
          [bump] bump-render=height: FPS: 1708 FrameTime: 0.585 ms
          [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 537 FrameTime: 1.862 ms
          [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 228 FrameTime: 4.386 ms
          [pulsar] light=false:quads=5:texture=false: FPS: 1175 FrameTime: 0.851 ms
          [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 212 FrameTime: 4.717 ms
          [desktop] effect=shadow:windows=4: FPS: 394 FrameTime: 2.538 ms
          [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 361 FrameTime: 2.770 ms
          [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 362 FrameTime: 2.762 ms
          [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 392 FrameTime: 2.551 ms
          [ideas] speed=duration: FPS: 645 FrameTime: 1.550 ms
          [jellyfish] <default>: FPS: 323 FrameTime: 3.096 ms
          [terrain] <default>: FPS: 53 FrameTime: 18.868 ms
          [shadow] <default>: FPS: 233 FrameTime: 4.292 ms
          [refract] <default>: FPS: 74 FrameTime: 13.514 ms
          [conditionals] fragment-steps=0:vertex-steps=0: FPS: 824 FrameTime: 1.214 ms
          [conditionals] fragment-steps=5:vertex-steps=0: FPS: 900 FrameTime: 1.111 ms
          [conditionals] fragment-steps=0:vertex-steps=5: FPS: 826 FrameTime: 1.211 ms
          [function] fragment-complexity=low:fragment-steps=5: FPS: 834 FrameTime: 1.199 ms
          [function] fragment-complexity=medium:fragment-steps=5: FPS: 853 FrameTime: 1.172 ms
          [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 833 FrameTime: 1.200 ms
          [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 830 FrameTime: 1.205 ms
          [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 877 FrameTime: 1.140 ms
          =======================================================
                                            glmark2 Score: 854 
          =======================================================
          Please note again that if AsyncSwap was enabled in X, every DDX implementing it would benefit from it.
          The intel DDX has already an implementation of AsyncSwap ready, but I haven't tested it.

          The interesting numbers are for low fps, since they represent better what we get with games.-> don't expect a 2X performance improvement!
          Last edited by mannerov; 17 October 2013, 03:03 PM.

          Comment


          • #15
            Originally posted by Daktyl198 View Post
            ^THIS^

            I'm still waiting on XWayland composite bypass for "fullscreen applications", which because of ^THIS^ means every application :P
            Then XWayland will at least be as-fast if not sometimes faster than native X...
            I guess Mir one ups XWayland on that one!

            Comment


            • #16
              Originally posted by MartinN View Post
              I guess Mir one ups XWayland on that one!
              No, Weston already does composite bypass for quite some time, and an XWayland fullscreen application benefits from it .
              (if there wasn't the bug about X decorations windows, but that's a Weston bug and should be solved in the near future. The benchmarks are done with a fix of this bug)

              Gnome doesn't implement composite bypass yet.
              Last edited by mannerov; 17 October 2013, 03:00 PM.

              Comment


              • #17
                Originally posted by GreatEmerald View Post
                Yea, in XWayland, every application is rootless, so every application is always running in fullscreen as far as X is concerned. So this should help everything, if I'm not mistaken.
                There is difference if application is composited or running in overlay. X can do compositing with 2D driver.

                Comment


                • #18
                  Originally posted by pjezek View Post
                  Almost all TV apps and many new games (Steam prods incl.) are used in full screen mode. I can't agree with your point there...
                  I'm assuming new games will be using SDL2 and get native Wayland support - although you're right that we don't really know if that's the case or not yet.

                  Originally posted by TheBlackCat View Post
                  Uh, people don't watch full-screen video much?
                  Of course they do, and Wayland is going to be fantastic for video. Which is exactly why every video player is going to be ported to it very quickly, and you won't have to bother watching videos through any kind of X compatibility layer.

                  Originally posted by GreatEmerald View Post
                  Yea, in XWayland, every application is rootless, so every application is always running in fullscreen as far as X is concerned. So this should help everything, if I'm not mistaken.
                  Now that's an excellent point I had overlooked. Indeed, this change is going to be great for XWayland.

                  Comment


                  • #19
                    Originally posted by mannerov View Post
                    Here are the complete benchmarks:


                    The benchmarks are done with glmark2 on an intel hd4000, fullscreen(1920x1080):

                    X, with sna, on Kwin:

                    Code:
                    =======================================================
                        glmark2 2012.12
                    =======================================================
                        OpenGL Information
                        GL_VENDOR:     Intel Open Source Technology Center
                        GL_RENDERER:   Mesa DRI Intel(R) Ivybridge Mobile 
                        GL_VERSION:    3.0 Mesa 9.3.0-devel (git-15da955)
                    =======================================================
                    [build] use-vbo=false: FPS: 434 FrameTime: 2.304 ms (* note: This is noise. Go see next test. The intel card has to wake up*)
                    [build] use-vbo=true: FPS: 625 FrameTime: 1.600 ms
                    [texture] texture-filter=nearest: FPS: 607 FrameTime: 1.647 ms
                    [texture] texture-filter=linear: FPS: 607 FrameTime: 1.647 ms
                    [texture] texture-filter=mipmap: FPS: 600 FrameTime: 1.667 ms
                    [shading] shading=gouraud: FPS: 537 FrameTime: 1.862 ms
                    [shading] shading=blinn-phong-inf: FPS: 539 FrameTime: 1.855 ms
                    [shading] shading=phong: FPS: 539 FrameTime: 1.855 ms
                    [bump] bump-render=high-poly: FPS: 404 FrameTime: 2.475 ms
                    [bump] bump-render=normals: FPS: 596 FrameTime: 1.678 ms
                    [bump] bump-render=height: FPS: 603 FrameTime: 1.658 ms
                    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 329 FrameTime: 3.040 ms
                    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 173 FrameTime: 5.780 ms
                    [pulsar] light=false:quads=5:texture=false: FPS: 505 FrameTime: 1.980 ms
                    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 165 FrameTime: 6.061 ms
                    [desktop] effect=shadow:windows=4: FPS: 276 FrameTime: 3.623 ms
                    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 395 FrameTime: 2.532 ms
                    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 389 FrameTime: 2.571 ms
                    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 409 FrameTime: 2.445 ms
                    [ideas] speed=duration: FPS: 470 FrameTime: 2.128 ms
                    [jellyfish] <default>: FPS: 316 FrameTime: 3.165 ms
                    [terrain] <default>: FPS: 49 FrameTime: 20.408 ms
                    [shadow] <default>: FPS: 178 FrameTime: 5.618 ms
                    [refract] <default>: FPS: 67 FrameTime: 14.925 ms
                    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 523 FrameTime: 1.912 ms
                    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 529 FrameTime: 1.890 ms
                    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 524 FrameTime: 1.908 ms
                    [function] fragment-complexity=low:fragment-steps=5: FPS: 525 FrameTime: 1.905 ms
                    [function] fragment-complexity=medium:fragment-steps=5: FPS: 528 FrameTime: 1.894 ms
                    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 525 FrameTime: 1.905 ms
                    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 524 FrameTime: 1.908 ms
                    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 529 FrameTime: 1.890 ms
                    =======================================================
                                                      glmark2 Score: 438 
                    =======================================================
                    Under XWayland, with wlglamor, without AsyncSwap support:
                    Code:
                    =======================================================
                        glmark2 2012.12
                    =======================================================
                        OpenGL Information
                        GL_VENDOR:     Intel Open Source Technology Center
                        GL_RENDERER:   Mesa DRI Intel(R) Ivybridge Mobile 
                        GL_VERSION:    3.0 Mesa 9.3.0-devel (git-15da955)
                    =======================================================
                    [build] use-vbo=false: FPS: 538 FrameTime: 1.859 ms
                    [build] use-vbo=true: FPS: 556 FrameTime: 1.799 ms
                    [texture] texture-filter=nearest: FPS: 559 FrameTime: 1.789 ms
                    [texture] texture-filter=linear: FPS: 562 FrameTime: 1.779 ms
                    [texture] texture-filter=mipmap: FPS: 547 FrameTime: 1.828 ms
                    [shading] shading=gouraud: FPS: 488 FrameTime: 2.049 ms
                    [shading] shading=blinn-phong-inf: FPS: 484 FrameTime: 2.066 ms
                    [shading] shading=phong: FPS: 489 FrameTime: 2.045 ms
                    [bump] bump-render=high-poly: FPS: 382 FrameTime: 2.618 ms
                    [bump] bump-render=normals: FPS: 570 FrameTime: 1.754 ms
                    [bump] bump-render=height: FPS: 543 FrameTime: 1.842 ms
                    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 322 FrameTime: 3.106 ms
                    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 173 FrameTime: 5.780 ms
                    [pulsar] light=false:quads=5:texture=false: FPS: 458 FrameTime: 2.183 ms
                    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 166 FrameTime: 6.024 ms
                    [desktop] effect=shadow:windows=4: FPS: 271 FrameTime: 3.690 ms
                    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 339 FrameTime: 2.950 ms
                    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 352 FrameTime: 2.841 ms
                    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 368 FrameTime: 2.717 ms
                    [ideas] speed=duration: FPS: 397 FrameTime: 2.519 ms
                    [jellyfish] <default>: FPS: 302 FrameTime: 3.311 ms
                    [terrain] <default>: FPS: 49 FrameTime: 20.408 ms
                    [shadow] <default>: FPS: 180 FrameTime: 5.556 ms
                    [refract] <default>: FPS: 68 FrameTime: 14.706 ms
                    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 487 FrameTime: 2.053 ms
                    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 496 FrameTime: 2.016 ms
                    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 482 FrameTime: 2.075 ms
                    [function] fragment-complexity=low:fragment-steps=5: FPS: 488 FrameTime: 2.049 ms
                    [function] fragment-complexity=medium:fragment-steps=5: FPS: 492 FrameTime: 2.033 ms
                    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 481 FrameTime: 2.079 ms
                    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 489 FrameTime: 2.045 ms
                    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 492 FrameTime: 2.033 ms
                    =======================================================
                                                      glmark2 Score: 408 
                    =======================================================
                    sna seems to do copies faster than glamor, which explains the better performance with sna.

                    Under XWayland, with new Api, new wlglamor, AsyncSwap enabled in X:
                    Code:
                    =======================================================
                        glmark2 2012.12
                    =======================================================
                        OpenGL Information
                        GL_VENDOR:     Intel Open Source Technology Center
                        GL_RENDERER:   Mesa DRI Intel(R) Ivybridge Mobile 
                        GL_VERSION:    3.0 Mesa 9.3.0-devel (git-15da955)
                    =======================================================
                    [build] use-vbo=false: FPS: 1331 FrameTime: 0.751 ms
                    [build] use-vbo=true: FPS: 1504 FrameTime: 0.665 ms
                    [texture] texture-filter=nearest: FPS: 1821 FrameTime: 0.549 ms
                    [texture] texture-filter=linear: FPS: 1845 FrameTime: 0.542 ms
                    [texture] texture-filter=mipmap: FPS: 1811 FrameTime: 0.552 ms
                    [shading] shading=gouraud: FPS: 976 FrameTime: 1.025 ms
                    [shading] shading=blinn-phong-inf: FPS: 983 FrameTime: 1.017 ms
                    [shading] shading=phong: FPS: 993 FrameTime: 1.007 ms
                    [bump] bump-render=high-poly: FPS: 725 FrameTime: 1.379 ms
                    [bump] bump-render=normals: FPS: 1887 FrameTime: 0.530 ms
                    [bump] bump-render=height: FPS: 1708 FrameTime: 0.585 ms
                    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 537 FrameTime: 1.862 ms
                    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 228 FrameTime: 4.386 ms
                    [pulsar] light=false:quads=5:texture=false: FPS: 1175 FrameTime: 0.851 ms
                    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 212 FrameTime: 4.717 ms
                    [desktop] effect=shadow:windows=4: FPS: 394 FrameTime: 2.538 ms
                    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 361 FrameTime: 2.770 ms
                    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 362 FrameTime: 2.762 ms
                    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 392 FrameTime: 2.551 ms
                    [ideas] speed=duration: FPS: 645 FrameTime: 1.550 ms
                    [jellyfish] <default>: FPS: 323 FrameTime: 3.096 ms
                    [terrain] <default>: FPS: 53 FrameTime: 18.868 ms
                    [shadow] <default>: FPS: 233 FrameTime: 4.292 ms
                    [refract] <default>: FPS: 74 FrameTime: 13.514 ms
                    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 824 FrameTime: 1.214 ms
                    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 900 FrameTime: 1.111 ms
                    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 826 FrameTime: 1.211 ms
                    [function] fragment-complexity=low:fragment-steps=5: FPS: 834 FrameTime: 1.199 ms
                    [function] fragment-complexity=medium:fragment-steps=5: FPS: 853 FrameTime: 1.172 ms
                    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 833 FrameTime: 1.200 ms
                    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 830 FrameTime: 1.205 ms
                    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 877 FrameTime: 1.140 ms
                    =======================================================
                                                      glmark2 Score: 854 
                    =======================================================
                    Please note again that if AsyncSwap was enabled in X, every DDX implementing it would benefit from it.
                    The intel DDX has already an implementation of AsyncSwap ready, but I haven't tested it.

                    The interesting numbers are for low fps, since they represent better what we get with games.-> don't expect a 2X performance improvement!
                    looks good to me Linux is going to kick the hell out of Windows

                    Comment

                    Working...
                    X