Announcement

Collapse
No announcement yet.

XWayland being under active development again

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

  • #16
    Originally posted by LinuxGamer View Post
    we may end up getting better performance then Xorg using Xwayland once its all said and done
    Probably.

    I finally managed to test PRIME on X. Applications launched on the dedicated card (radeonsi) were black, except when fullscreen.
    Performance was cool (there was a lot of tearings however).

    I made some benchmarks that show the cost of a copy (and we can hope better performance when this copy will be avoided) for my card.


    glmark2-wayland, fullscreen (1920x1080) on an embedded weston (under weston) running on the dedicated card.
    Code:
    =======================================================
        glmark2 2012.12
    =======================================================
        OpenGL Information
        GL_VENDOR:     X.Org
        GL_RENDERER:   Gallium 0.4 on AMD CAPE VERDE
        GL_VERSION:    2.1 Mesa 9.3.0-devel (git-15da955)
    =======================================================
    [build] use-vbo=false: FPS: 753 FrameTime: 1.328 ms
    [build] use-vbo=true: FPS: 789 FrameTime: 1.267 ms
    [texture] texture-filter=nearest: FPS: 658 FrameTime: 1.520 ms
    [texture] texture-filter=linear: FPS: 659 FrameTime: 1.517 ms
    [texture] texture-filter=mipmap: FPS: 665 FrameTime: 1.504 ms
    [shading] shading=gouraud: FPS: 674 FrameTime: 1.484 ms
    [shading] shading=blinn-phong-inf: FPS: 675 FrameTime: 1.481 ms
    [shading] shading=phong: FPS: 672 FrameTime: 1.488 ms
    [bump] bump-render=high-poly: FPS: 620 FrameTime: 1.613 ms
    [bump] bump-render=normals: FPS: 762 FrameTime: 1.312 ms
    [bump] bump-render=height: FPS: 760 FrameTime: 1.316 ms
    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 404 FrameTime: 2.475 ms
    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 256 FrameTime: 3.906 ms
    [pulsar] light=false:quads=5:texture=false: FPS: 462 FrameTime: 2.165 ms
    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 164 FrameTime: 6.098 ms
    [desktop] effect=shadow:windows=4: FPS: 207 FrameTime: 4.831 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 305 FrameTime: 3.279 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 301 FrameTime: 3.322 ms
    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 326 FrameTime: 3.067 ms
    [ideas] speed=duration: FPS: 293 FrameTime: 3.413 ms
    [jellyfish] <default>: FPS: 344 FrameTime: 2.907 ms
    [terrain] <default>: FPS: 59 FrameTime: 16.949 ms
    [shadow] <default>: FPS: 192 FrameTime: 5.208 ms
    [refract] <default>: FPS: 92 FrameTime: 10.870 ms
    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 618 FrameTime: 1.618 ms
    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 618 FrameTime: 1.618 ms
    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 618 FrameTime: 1.618 ms
    [function] fragment-complexity=low:fragment-steps=5: FPS: 617 FrameTime: 1.621 ms
    [function] fragment-complexity=medium:fragment-steps=5: FPS: 617 FrameTime: 1.621 ms
    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 618 FrameTime: 1.618 ms
    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 617 FrameTime: 1.621 ms
    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 617 FrameTime: 1.621 ms
    =======================================================
                                      glmark2 Score: 501 
    =======================================================
    glmark2, fullscreen (1920x1080) on the dedicated card with PRIME on bare X.
    Code:
    =======================================================
        glmark2 2012.12
    =======================================================
        OpenGL Information
        GL_VENDOR:     X.Org
        GL_RENDERER:   Gallium 0.4 on AMD CAPE VERDE
        GL_VERSION:    2.1 Mesa 9.3.0-devel (git-15da955)
    =======================================================
    [build] use-vbo=false: FPS: 196 FrameTime: 5.102 ms
    [build] use-vbo=true: FPS: 196 FrameTime: 5.102 ms
    [texture] texture-filter=nearest: FPS: 188 FrameTime: 5.319 ms
    [texture] texture-filter=linear: FPS: 188 FrameTime: 5.319 ms
    [texture] texture-filter=mipmap: FPS: 189 FrameTime: 5.291 ms
    [shading] shading=gouraud: FPS: 187 FrameTime: 5.348 ms
    [shading] shading=blinn-phong-inf: FPS: 187 FrameTime: 5.348 ms
    [shading] shading=phong: FPS: 187 FrameTime: 5.348 ms
    [bump] bump-render=high-poly: FPS: 188 FrameTime: 5.319 ms
    [bump] bump-render=normals: FPS: 195 FrameTime: 5.128 ms
    [bump] bump-render=height: FPS: 195 FrameTime: 5.128 ms
    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 156 FrameTime: 6.410 ms
    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 141 FrameTime: 7.092 ms
    [pulsar] light=false:quads=5:texture=false: FPS: 153 FrameTime: 6.536 ms
    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 114 FrameTime: 8.772 ms
    [desktop] effect=shadow:windows=4: FPS: 129 FrameTime: 7.752 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 160 FrameTime: 6.250 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 159 FrameTime: 6.289 ms
    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 160 FrameTime: 6.250 ms
    [ideas] speed=duration: FPS: 145 FrameTime: 6.897 ms
    [jellyfish] <default>: FPS: 131 FrameTime: 7.634 ms
    [terrain] <default>: FPS: 55 FrameTime: 18.182 ms
    [shadow] <default>: FPS: 127 FrameTime: 7.874 ms
    [refract] <default>: FPS: 79 FrameTime: 12.658 ms
    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 180 FrameTime: 5.556 ms
    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 180 FrameTime: 5.556 ms
    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 180 FrameTime: 5.556 ms
    [function] fragment-complexity=low:fragment-steps=5: FPS: 180 FrameTime: 5.556 ms
    [function] fragment-complexity=medium:fragment-steps=5: FPS: 180 FrameTime: 5.556 ms
    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 180 FrameTime: 5.556 ms
    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 180 FrameTime: 5.556 ms
    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 180 FrameTime: 5.556 ms
    =======================================================
                                      glmark2 Score: 163 
    =======================================================
    glmark2 running on XWayland under an embedded weston (under weston) running on the dedicated card.
    Code:
    =======================================================
        glmark2 2012.12
    =======================================================
        OpenGL Information
        GL_VENDOR:     X.Org
        GL_RENDERER:   Gallium 0.4 on AMD CAPE VERDE
        GL_VERSION:    2.1 Mesa 9.3.0-devel (git-15da955)
    =======================================================
    [build] use-vbo=false: FPS: 215 FrameTime: 4.651 ms
    [build] use-vbo=true: FPS: 216 FrameTime: 4.630 ms
    [texture] texture-filter=nearest: FPS: 202 FrameTime: 4.950 ms
    [texture] texture-filter=linear: FPS: 202 FrameTime: 4.950 ms
    [texture] texture-filter=mipmap: FPS: 203 FrameTime: 4.926 ms
    [shading] shading=gouraud: FPS: 201 FrameTime: 4.975 ms
    [shading] shading=blinn-phong-inf: FPS: 201 FrameTime: 4.975 ms
    [shading] shading=phong: FPS: 201 FrameTime: 4.975 ms
    [bump] bump-render=high-poly: FPS: 201 FrameTime: 4.975 ms
    [bump] bump-render=normals: FPS: 213 FrameTime: 4.695 ms
    [bump] bump-render=height: FPS: 213 FrameTime: 4.695 ms
    [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 157 FrameTime: 6.369 ms
    [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 139 FrameTime: 7.194 ms
    [pulsar] light=false:quads=5:texture=false: FPS: 156 FrameTime: 6.410 ms
    [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 106 FrameTime: 9.434 ms
    [desktop] effect=shadow:windows=4: FPS: 123 FrameTime: 8.130 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 167 FrameTime: 5.988 ms
    [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 167 FrameTime: 5.988 ms
    [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 168 FrameTime: 5.952 ms
    [ideas] speed=duration: FPS: 145 FrameTime: 6.897 ms
    [jellyfish] <default>: FPS: 127 FrameTime: 7.874 ms
    [terrain] <default>: FPS: 50 FrameTime: 20.000 ms
    [shadow] <default>: FPS: 114 FrameTime: 8.772 ms
    [refract] <default>: FPS: 60 FrameTime: 16.667 ms
    [conditionals] fragment-steps=0:vertex-steps=0: FPS: 190 FrameTime: 5.263 ms
    [conditionals] fragment-steps=5:vertex-steps=0: FPS: 191 FrameTime: 5.236 ms
    [conditionals] fragment-steps=0:vertex-steps=5: FPS: 191 FrameTime: 5.236 ms
    [function] fragment-complexity=low:fragment-steps=5: FPS: 191 FrameTime: 5.236 ms
    [function] fragment-complexity=medium:fragment-steps=5: FPS: 191 FrameTime: 5.236 ms
    [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 191 FrameTime: 5.236 ms
    [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 191 FrameTime: 5.236 ms
    [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 191 FrameTime: 5.236 ms
    =======================================================
                                      glmark2 Score: 171 
    =======================================================
    Comparing Wayland - XWayland (the main difference being the additional copy) gives that a copy on my card costs about 3 ms (18% for a 60 fps application).

    EDIT: And don't interpret figures as XWayland performs better than X. If you look at fps around 60 fps, you see that X performs better. The better performance for high fps benchmarks may be due to the format of the pixmap shared from XWayland to Wayland being different than the one X gives to the screen. The last copy done by X may then be slightly slower than the one by XWayland before giving the pixmap to Wayland, and we see the difference for high fps benchmarks, were we do much more copies than for slow fps benchmarks
    Last edited by mannerov; 09-23-2013, 05:29 PM.

    Comment

    Working...
    X