Kwiboo / linux-rockchip

Linux kernel for Rockchip SoC
Other
25 stars 10 forks source link

RK3328 : GPU performance #7

Closed LongChair closed 6 years ago

LongChair commented 7 years ago

When using Kodi / PMP on 3328 we can't reach 60 fps even in 1080p.

We tried to overclock the gpu adding two other points to the gpu dvfs (600 Mhz and 700 mhz), but that didn't seem to improve.

also using glmark2 with or without overlocking didn't seem to change performance.

the sysfs entry /sys/devices/platform/ff300000.gpu/devfreq/ff300000.gpu/current_freq would show 7000 mhz, but the clk_summuary seems to show 6000 mhz no matter what :

          aclk_gpu_pre                    1            1   600000000          0 0
             aclk_gpu_niu                 0            0   600000000          0 0
             aclk_gpu                     2            1   600000000          0 0

For the record, this is the glmark2 score we're getting with current kernel and a 1080p monitor hooked up:

RK3328 in 1080p at 500 Mhz

=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-450 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 131 FrameTime: 7.634 ms
[build] use-vbo=true: FPS: 145 FrameTime: 6.897 ms
[texture] texture-filter=nearest: FPS: 131 FrameTime: 7.634 ms
[texture] texture-filter=linear: FPS: 132 FrameTime: 7.576 ms
[texture] texture-filter=mipmap: FPS: 129 FrameTime: 7.752 ms
[shading] shading=gouraud: FPS: 127 FrameTime: 7.874 ms
[shading] shading=blinn-phong-inf: FPS: 105 FrameTime: 9.524 ms
[shading] shading=phong: FPS: 85 FrameTime: 11.765 ms
[shading] shading=cel: FPS: 69 FrameTime: 14.493 ms
[bump] bump-render=high-poly: FPS: 77 FrameTime: 12.987 ms
[bump] bump-render=normals: FPS: 115 FrameTime: 8.696 ms
[bump] bump-render=height: FPS: 100 FrameTime: 10.000 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 30 FrameTime: 33.333 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 15 FrameTime: 66.667 ms
[pulsar] light=false:quads=5:texture=false: FPS: 138 FrameTime: 7.246 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 17 FrameTime: 58.824 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 89 FrameTime: 11.236 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 40 FrameTime: 25.000 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 51 FrameTime: 19.608 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 42 FrameTime: 23.810 ms
[ideas] speed=duration: FPS: 87 FrameTime: 11.494 ms
[jellyfish] <default>: FPS: 46 FrameTime: 21.739 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 65 FrameTime: 15.385 ms
[refract] <default>: FPS: 18 FrameTime: 55.556 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 115 FrameTime: 8.696 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 58 FrameTime: 17.241 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 115 FrameTime: 8.696 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 74 FrameTime: 13.514 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 43 FrameTime: 23.256 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 73 FrameTime: 13.699 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 74 FrameTime: 13.514 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 74 FrameTime: 13.514 ms
=======================================================
                                  glmark2 Score: 81
=======================================================

performance on S905 Mali 450 in 1080p at 500Mhz

=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-450 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 127 FrameTime: 7.874 ms
[build] use-vbo=true: FPS: 146 FrameTime: 6.849 ms
[texture] texture-filter=nearest: FPS: 146 FrameTime: 6.849 ms
[texture] texture-filter=linear: FPS: 145 FrameTime: 6.897 ms
[texture] texture-filter=mipmap: FPS: 143 FrameTime: 6.993 ms
[shading] shading=gouraud: FPS: 123 FrameTime: 8.130 ms
[shading] shading=blinn-phong-inf: FPS: 110 FrameTime: 9.091 ms
[shading] shading=phong: FPS: 92 FrameTime: 10.870 ms
[shading] shading=cel: FPS: 79 FrameTime: 12.658 ms
[bump] bump-render=high-poly: FPS: 79 FrameTime: 12.658 ms
[bump] bump-render=normals: FPS: 131 FrameTime: 7.634 ms
[bump] bump-render=height: FPS: 117 FrameTime: 8.547 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 43 FrameTime: 23.256 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 22 FrameTime: 45.455 ms
[pulsar] light=false:quads=5:texture=false: FPS: 147 FrameTime: 6.803 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 25 FrameTime: 40.000 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 102 FrameTime: 9.804 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 51 FrameTime: 19.608 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 51 FrameTime: 19.608 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 53 FrameTime: 18.868 ms
[ideas] speed=duration: FPS: 94 FrameTime: 10.638 ms
[jellyfish] <default>: FPS: 63 FrameTime: 15.873 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 81 FrameTime: 12.346 ms
[refract] <default>: FPS: 23 FrameTime: 43.478 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 136 FrameTime: 7.353 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 77 FrameTime: 12.987 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 135 FrameTime: 7.407 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 96 FrameTime: 10.417 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 59 FrameTime: 16.949 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 95 FrameTime: 10.526 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 94 FrameTime: 10.638 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 95 FrameTime: 10.526 ms
=======================================================
                                  glmark2 Score: 93
=======================================================

performance on RK3328 in 800x600 at 500 mhz

glmark2-es2-drm -s 800x600 --off-screen
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-450 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 157 FrameTime: 6.369 ms
[build] use-vbo=true: FPS: 179 FrameTime: 5.587 ms
[texture] texture-filter=nearest: FPS: 163 FrameTime: 6.135 ms
[texture] texture-filter=linear: FPS: 163 FrameTime: 6.135 ms
[texture] texture-filter=mipmap: FPS: 159 FrameTime: 6.289 ms
[shading] shading=gouraud: FPS: 155 FrameTime: 6.452 ms
[shading] shading=blinn-phong-inf: FPS: 127 FrameTime: 7.874 ms
[shading] shading=phong: FPS: 103 FrameTime: 9.709 ms
[shading] shading=cel: FPS: 84 FrameTime: 11.905 ms
[bump] bump-render=high-poly: FPS: 92 FrameTime: 10.870 ms
[bump] bump-render=normals: FPS: 143 FrameTime: 6.993 ms
[bump] bump-render=height: FPS: 123 FrameTime: 8.130 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 37 FrameTime: 27.027 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 18 FrameTime: 55.556 ms
[pulsar] light=false:quads=5:texture=false: FPS: 171 FrameTime: 5.848 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 20 FrameTime: 50.000 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 104 FrameTime: 9.615 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 45 FrameTime: 22.222 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 59 FrameTime: 16.949 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 47 FrameTime: 21.277 ms
[ideas] speed=duration: FPS: 105 FrameTime: 9.524 ms
[jellyfish] <default>: FPS: 56 FrameTime: 17.857 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 79 FrameTime: 12.658 ms
[refract] <default>: FPS: 22 FrameTime: 45.455 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 143 FrameTime: 6.993 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 71 FrameTime: 14.085 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 142 FrameTime: 7.042 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 91 FrameTime: 10.989 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 53 FrameTime: 18.868 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 90 FrameTime: 11.111 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 90 FrameTime: 11.111 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 91 FrameTime: 10.989 ms
=======================================================
                                  glmark2 Score: 99 
=======================================================

performance on RK3328 in 800x600 at 700 mhz

glmark2-es2-drm -s 800x600 --off-screen
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-450 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 148 FrameTime: 6.757 ms
[build] use-vbo=true: FPS: 168 FrameTime: 5.952 ms
[texture] texture-filter=nearest: FPS: 153 FrameTime: 6.536 ms
[texture] texture-filter=linear: FPS: 153 FrameTime: 6.536 ms
[texture] texture-filter=mipmap: FPS: 151 FrameTime: 6.623 ms
[shading] shading=gouraud: FPS: 146 FrameTime: 6.849 ms
[shading] shading=blinn-phong-inf: FPS: 122 FrameTime: 8.197 ms
[shading] shading=phong: FPS: 99 FrameTime: 10.101 ms
[shading] shading=cel: FPS: 81 FrameTime: 12.346 ms
[bump] bump-render=high-poly: FPS: 87 FrameTime: 11.494 ms
[bump] bump-render=normals: FPS: 136 FrameTime: 7.353 ms
[bump] bump-render=height: FPS: 118 FrameTime: 8.475 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 36 FrameTime: 27.778 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 18 FrameTime: 55.556 ms
[pulsar] light=false:quads=5:texture=false: FPS: 162 FrameTime: 6.173 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 20 FrameTime: 50.000 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 97 FrameTime: 10.309 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 44 FrameTime: 22.727 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 58 FrameTime: 17.241 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 46 FrameTime: 21.739 ms
[ideas] speed=duration: FPS: 101 FrameTime: 9.901 ms
[jellyfish] <default>: FPS: 55 FrameTime: 18.182 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 75 FrameTime: 13.333 ms
[refract] <default>: FPS: 21 FrameTime: 47.619 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 136 FrameTime: 7.353 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 69 FrameTime: 14.493 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 136 FrameTime: 7.353 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 89 FrameTime: 11.236 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 52 FrameTime: 19.231 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 88 FrameTime: 11.364 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 88 FrameTime: 11.364 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 88 FrameTime: 11.364 ms
=======================================================
                                  glmark2 Score: 95
=======================================================

performance on S905 in 1080p @792 mhz

glmark2-es2-fbdev --off-screen
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-450 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 174 FrameTime: 5.747 ms
[build] use-vbo=true: FPS: 205 FrameTime: 4.878 ms
[texture] texture-filter=nearest: FPS: 205 FrameTime: 4.878 ms
[texture] texture-filter=linear: FPS: 208 FrameTime: 4.808 ms
[texture] texture-filter=mipmap: FPS: 206 FrameTime: 4.854 ms
[shading] shading=gouraud: FPS: 180 FrameTime: 5.556 ms
[shading] shading=blinn-phong-inf: FPS: 162 FrameTime: 6.173 ms
[shading] shading=phong: FPS: 138 FrameTime: 7.246 ms
[shading] shading=cel: FPS: 118 FrameTime: 8.475 ms
[bump] bump-render=high-poly: FPS: 108 FrameTime: 9.259 ms
[bump] bump-render=normals: FPS: 191 FrameTime: 5.236 ms
[bump] bump-render=height: FPS: 172 FrameTime: 5.814 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 66 FrameTime: 15.152 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 34 FrameTime: 29.412 ms
[pulsar] light=false:quads=5:texture=false: FPS: 214 FrameTime: 4.673 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 31 FrameTime: 32.258 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 115 FrameTime: 8.696 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 69 FrameTime: 14.493 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 70 FrameTime: 14.286 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 72 FrameTime: 13.889 ms
[ideas] speed=duration: FPS: 130 FrameTime: 7.692 ms
[jellyfish] <default>: FPS: 94 FrameTime: 10.638 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 109 FrameTime: 9.174 ms
[refract] <default>: FPS: 29 FrameTime: 34.483 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 200 FrameTime: 5.000 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 118 FrameTime: 8.475 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 199 FrameTime: 5.025 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 145 FrameTime: 6.897 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 92 FrameTime: 10.870 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 143 FrameTime: 6.993 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 143 FrameTime: 6.993 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 143 FrameTime: 6.993 ms
=======================================================
                                  glmark2 Score: 133
=======================================================
yanghanxing commented 7 years ago

This issue, our engineer think it meet expectation. Because RK3328 use mali450 mp2 core gpu. So the glmark2 score should be lower than Amlogic 905.

Kwiboo commented 6 years ago

Closing since engineer think it meet expectation