Poor performance of NVIDIA driver on "Optimus" laptop?

I have no real problem, just willing to learn on this odd “Optimus” architecture…
When I installed Tumbleweed with the default Nouveau driver, it was clear that the OSS driver’s only useful task was keeping the NVIDIA chip from drawing battery power.
This was somewhat expected and I didn’d dig any deeper.
Then I decided to give the new NVIDIA driver a shot and results are puzzling at best.
Running “primusrun glxspheres” is only marginally better than using integrated graphics and “optirun glxspheres” is a distant third.
But, here is the puzzle, with the spheres at full screen (FHD, 1920x1080) Intel graphics is the best:


bruno@LT_B:~> vblank_mode=0 glxspheres
...
Visual ID of window: 0xb5
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Haswell Mobile 
...
279.900200 frames/sec - 546.006918 Mpixels/sec
278.944967 frames/sec - 544.143525 Mpixels/sec

bruno@LT_B:~> vblank_mode=0 primusrun glxspheres
...
Visual ID of window: 0xb5
Context is Direct
OpenGL Renderer: GeForce GTX 960M/PCIe/SSE2
...
228.179027 frames/sec - 445.113393 Mpixels/sec
228.148338 frames/sec - 445.053525 Mpixels/sec

Is the whole hassle of installing Bumblebee, building nvidia-bumblebee and the like useless, at least on this HW?
Or am I missing something?

Tested on Tumbleweed 20151002 Kernel 4.2.1 with Gnome, if that matters.

Hi
Not having an optimus setup, seems to me it’s not intended for local testing but remote testing [in your case discrete video] (part of the VirtualGL package: A toolkit for displaying OpenGL applications to thin clients).

So they way I see it, it’s only valid when using optirun and not by itself which may be why the confusing results?

If that be the case, is there any other readily available “benchmark” in the OS repos or OBS?

I’m not realy surprised, on my Lenovo with I5 and HD4600 graphics performance jumped up considerably going from 13.2 to Leap42. No wonder if you take into account that the nvidia card must run under bumblebee and what Linus thinks about nvidia and optimus. This is the way to kill optimus on Linux.

Hi
Just looking at building this and see what it is like;

Thankyou Malcolm, I found in OBS that the Fedora22 package glmark2 just installs in TW and I’m going to test it: stay tuned!

BTW, the OS 13.1 version is broken, likely didn’t build at all.

Hi
They use different linker flags, it’s building for 13.2, just doing a tumbleweed test build now…

This is just to confirm that the Fedora22 package is working but… the results seem even more puzzling!

bruno@LT_B:~> **glmark2**
=======================================================
    glmark2 2012.12
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) Haswell Mobile 
    GL_VERSION:    3.0 Mesa 11.0.0
=======================================================
                                  **glmark2 Score: 2518** 
=======================================================


bruno@LT_B:~> **optirun glmark2**
=======================================================
    glmark2 2012.12
=======================================================
    OpenGL Information
    GL_VENDOR:     NVIDIA Corporation
    GL_RENDERER:   GeForce GTX 960M/PCIe/SSE2
    GL_VERSION:    4.5.0 NVIDIA 352.41
=======================================================
                                  **glmark2 Score: 745** 
=======================================================

“primusrun glmark2” gives a flurry of errors and I have to look again.

If these results were confirmed, I think Linus is right one more time …
Anyway this seems a fairly comprehensive tool, thanks again Malcolm.

Hi
Building the openSUSE packages now :wink:
https://build.opensuse.org/package/show/home:malcolmlewis:TESTING/glmark2

Hi
The version you have installed is very old… my build is 2014.03, so it should be better…

Here is my output from openSUSE 42.1 on a HP ProBook 455 G1 with an AMD APU and radeon driver on the GNOME DE;



=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     X.Org
    GL_RENDERER:   Gallium 0.4 on AMD ARUBA (DRM 2.42.0, LLVM 3.7.0)
    GL_VERSION:    3.0 Mesa 11.0.2
=======================================================
[build] use-vbo=false: FPS: 955 FrameTime: 1.047 ms
[build] use-vbo=true: FPS: 935 FrameTime: 1.070 ms
[texture] texture-filter=nearest: FPS: 914 FrameTime: 1.094 ms
[texture] texture-filter=linear: FPS: 910 FrameTime: 1.099 ms
[texture] texture-filter=mipmap: FPS: 927 FrameTime: 1.079 ms
[shading] shading=gouraud: FPS: 883 FrameTime: 1.133 ms
[shading] shading=blinn-phong-inf: FPS: 886 FrameTime: 1.129 ms
[shading] shading=phong: FPS: 817 FrameTime: 1.224 ms
[shading] shading=cel: FPS: 794 FrameTime: 1.259 ms
[bump] bump-render=high-poly: FPS: 748 FrameTime: 1.337 ms
[bump] bump-render=normals: FPS: 931 FrameTime: 1.074 ms
[bump] bump-render=height: FPS: 931 FrameTime: 1.074 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 787 FrameTime: 1.271 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: 359 FrameTime: 2.786 ms
[pulsar] light=false:quads=5:texture=false: FPS: 897 FrameTime: 1.115 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 464 FrameTime: 2.155 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 711 FrameTime: 1.406 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 321 FrameTime: 3.115 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 387 FrameTime: 2.584 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 417 FrameTime: 2.398 ms
[ideas] speed=duration: FPS: 712 FrameTime: 1.404 ms
[jellyfish] <default>: FPS: 631 FrameTime: 1.585 ms
[terrain] <default>: FPS: 98 FrameTime: 10.204 ms
[shadow] <default>: FPS: 551 FrameTime: 1.815 ms
[refract] <default>: FPS: 141 FrameTime: 7.092 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 901 FrameTime: 1.110 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 877 FrameTime: 1.140 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 903 FrameTime: 1.107 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 900 FrameTime: 1.111 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 790 FrameTime: 1.266 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 899 FrameTime: 1.112 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 899 FrameTime: 1.112 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 844 FrameTime: 1.185 ms
=======================================================
                                  glmark2 Score: 730 
=======================================================

Here’s for a Lenovo B5400 with an I5 and HD4600

=======================================================    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) Haswell Mobile 
    GL_VERSION:    3.0 Mesa 10.6.6
=======================================================
[build] use-vbo=false: FPS: 1777 FrameTime: 0.563 ms
[build] use-vbo=true: FPS: 2212 FrameTime: 0.452 ms
[texture] texture-filter=nearest: FPS: 1787 FrameTime: 0.560 ms
[texture] texture-filter=linear: FPS: 1778 FrameTime: 0.562 ms
[texture] texture-filter=mipmap: FPS: 1936 FrameTime: 0.517 ms
[shading] shading=gouraud: FPS: 1890 FrameTime: 0.529 ms
[shading] shading=blinn-phong-inf: FPS: 1865 FrameTime: 0.536 ms
[shading] shading=phong: FPS: 1860 FrameTime: 0.538 ms
[shading] shading=cel: FPS: 1872 FrameTime: 0.534 ms
[bump] bump-render=high-poly: FPS: 1427 FrameTime: 0.701 ms
[bump] bump-render=normals: FPS: 2121 FrameTime: 0.471 ms
[bump] bump-render=height: FPS: 2085 FrameTime: 0.480 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1523 FrameTime: 0.657 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: 779 FrameTime: 1.284 ms
[pulsar] light=false:quads=5:texture=false: FPS: 1774 FrameTime: 0.564 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 667 FrameTime: 1.499 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 996 FrameTime: 1.004 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 616 FrameTime: 1.623 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 634 FrameTime: 1.577 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 669 FrameTime: 1.495 ms
[ideas] speed=duration: FPS: 1635 FrameTime: 0.612 ms
[jellyfish] <default>: FPS: 1210 FrameTime: 0.826 ms
[terrain] <default>: FPS: 162 FrameTime: 6.173 ms
[shadow] <default>: FPS: 654 FrameTime: 1.529 ms
[refract] <default>: FPS: 219 FrameTime: 4.566 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 1924 FrameTime: 0.520 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1916 FrameTime: 0.522 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 1923 FrameTime: 0.520 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1923 FrameTime: 0.520 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1922 FrameTime: 0.520 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1921 FrameTime: 0.521 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1918 FrameTime: 0.521 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1919 FrameTime: 0.521 ms
=======================================================
                                  glmark2 Score: 1500 
=======================================================



I also ran some webgl experiments, really smooth and nice.
Thank,s for the repo!

Hi
This is SLED 12 without wayland on my DELL Inspiron 3521 i3 and intel gpu;


 glmark2
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) Ivybridge Mobile 
    GL_VERSION:    3.0 Mesa 10.0.3
=======================================================
[build] use-vbo=false: FPS: 1697 FrameTime: 0.589 ms
[build] use-vbo=true: FPS: 2233 FrameTime: 0.448 ms
[texture] texture-filter=nearest: FPS: 2373 FrameTime: 0.421 ms
[texture] texture-filter=linear: FPS: 2364 FrameTime: 0.423 ms
[texture] texture-filter=mipmap: FPS: 2423 FrameTime: 0.413 ms
[shading] shading=gouraud: FPS: 1536 FrameTime: 0.651 ms
[shading] shading=blinn-phong-inf: FPS: 1549 FrameTime: 0.646 ms
[shading] shading=phong: FPS: 1535 FrameTime: 0.651 ms
[shading] shading=cel: FPS: 1477 FrameTime: 0.677 ms
[bump] bump-render=high-poly: FPS: 735 FrameTime: 1.361 ms
[bump] bump-render=normals: FPS: 2505 FrameTime: 0.399 ms
[bump] bump-render=height: FPS: 2354 FrameTime: 0.425 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1656 FrameTime: 0.604 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: 772 FrameTime: 1.295 ms
[pulsar] light=false:quads=5:texture=false: FPS: 2072 FrameTime: 0.483 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 545 FrameTime: 1.835 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 895 FrameTime: 1.117 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 464 FrameTime: 2.155 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 479 FrameTime: 2.088 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 515 FrameTime: 1.942 ms
[ideas] speed=duration: FPS: 1062 FrameTime: 0.942 ms
[jellyfish] <default>: FPS: 1052 FrameTime: 0.951 ms
[terrain] <default>: FPS: 123 FrameTime: 8.130 ms
[shadow] <default>: FPS: 562 FrameTime: 1.779 ms
[refract] <default>: FPS: 188 FrameTime: 5.319 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 2083 FrameTime: 0.480 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 2146 FrameTime: 0.466 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 2074 FrameTime: 0.482 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 2088 FrameTime: 0.479 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 2129 FrameTime: 0.470 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 2087 FrameTime: 0.479 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 2083 FrameTime: 0.480 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 2066 FrameTime: 0.484 ms
=======================================================
                                  glmark2 Score: 1512 
=======================================================

I need to build the fglrx driver on Leap and check it out…

Hi
And on openSUSE 42.1 with fglrx (twm DE);


=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     ATI Technologies Inc.
    GL_RENDERER:   AMD Radeon HD 8350G
    GL_VERSION:    4.5.13399 Compatibility Profile Context 15.201.1151
=======================================================
[build] use-vbo=false: FPS: 1460 FrameTime: 0.685 ms
[build] use-vbo=true: FPS: 2013 FrameTime: 0.497 ms
[texture] texture-filter=nearest: FPS: 1901 FrameTime: 0.526 ms
[texture] texture-filter=linear: FPS: 1892 FrameTime: 0.529 ms
[texture] texture-filter=mipmap: FPS: 1962 FrameTime: 0.510 ms
[shading] shading=gouraud: FPS: 1681 FrameTime: 0.595 ms
[shading] shading=blinn-phong-inf: FPS: 1675 FrameTime: 0.597 ms
[shading] shading=phong: FPS: 1537 FrameTime: 0.651 ms
[shading] shading=cel: FPS: 1466 FrameTime: 0.682 ms
[bump] bump-render=high-poly: FPS: 1298 FrameTime: 0.770 ms
[bump] bump-render=normals: FPS: 2036 FrameTime: 0.491 ms
[bump] bump-render=height: FPS: 1954 FrameTime: 0.512 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 953 FrameTime: 1.049 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: 645 FrameTime: 1.550 ms
[pulsar] light=false:quads=5:texture=false: FPS: 1868 FrameTime: 0.535 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 636 FrameTime: 1.572 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 1056 FrameTime: 0.947 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 251 FrameTime: 3.984 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 502 FrameTime: 1.992 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 490 FrameTime: 2.041 ms
[ideas] speed=duration: FPS: 1589 FrameTime: 0.629 ms
[jellyfish] <default>: FPS: 1097 FrameTime: 0.912 ms
[terrain] <default>: FPS: 117 FrameTime: 8.547 ms
[shadow] <default>: FPS: 795 FrameTime: 1.258 ms
[refract] <default>: FPS: 174 FrameTime: 5.747 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 2021 FrameTime: 0.495 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1729 FrameTime: 0.578 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 2018 FrameTime: 0.496 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1921 FrameTime: 0.521 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1439 FrameTime: 0.695 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1874 FrameTime: 0.534 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1875 FrameTime: 0.533 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1461 FrameTime: 0.684 ms
=======================================================
                                  glmark2 Score: 1375 
=======================================================

Here’s the one from my laptop. It has an i5 and Optimus config.

The Intel:

knurphtlaptop:~> glmark2
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) Sandybridge Mobile 
    GL_VERSION:    3.0 Mesa 11.0.0                                                                                                                                             
=======================================================                                                                                                                        
[build] use-vbo=false: FPS: 1495 FrameTime: 0.669 ms                                                                                                                           
[build] use-vbo=true: FPS: 1647 FrameTime: 0.607 ms                                                                                                                            
[texture] texture-filter=nearest: FPS: 1503 FrameTime: 0.665 ms                                                                                                                
[texture] texture-filter=linear: FPS: 1483 FrameTime: 0.674 ms                                                                                                                 
[texture] texture-filter=mipmap: FPS: 1521 FrameTime: 0.657 ms                                                                                                                 
[shading] shading=gouraud: FPS: 1348 FrameTime: 0.742 ms                                                                                                                       
[shading] shading=blinn-phong-inf: FPS: 1345 FrameTime: 0.743 ms                                                                                                               
[shading] shading=phong: FPS: 1188 FrameTime: 0.842 ms                                                                                                                         
[shading] shading=cel: FPS: 1136 FrameTime: 0.880 ms                                                                                                                           
[bump] bump-render=high-poly: FPS: 758 FrameTime: 1.319 ms
[bump] bump-render=normals: FPS: 1592 FrameTime: 0.628 ms
[bump] bump-render=height: FPS: 1469 FrameTime: 0.681 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 748 FrameTime: 1.337 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: 342 FrameTime: 2.924 ms
[pulsar] light=false:quads=5:texture=false: FPS: 1351 FrameTime: 0.740 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 348 FrameTime: 2.874 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 690 FrameTime: 1.449 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 407 FrameTime: 2.457 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 586 FrameTime: 1.706 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 414 FrameTime: 2.415 ms
[ideas] speed=duration: FPS: 856 FrameTime: 1.168 ms
[jellyfish] <default>: FPS: 734 FrameTime: 1.362 ms
[terrain] <default>: FPS: 79 FrameTime: 12.658 ms
[shadow] <default>: FPS: 578 FrameTime: 1.730 ms
[refract] <default>: FPS: 197 FrameTime: 5.076 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 1367 FrameTime: 0.732 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1304 FrameTime: 0.767 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 1370 FrameTime: 0.730 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1362 FrameTime: 0.734 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1298 FrameTime: 0.770 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1347 FrameTime: 0.742 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1337 FrameTime: 0.748 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1288 FrameTime: 0.776 ms
=======================================================
                                  glmark2 Score: 1045 
=======================================================


The NVIDIA:


knurphtlaptop:~/> optirun glmark2
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     NVIDIA Corporation
    GL_RENDERER:   GeForce 610M/PCIe/SSE2
    GL_VERSION:    4.5.0 NVIDIA 352.41
=======================================================
[build] use-vbo=false: FPS: 270 FrameTime: 3.704 ms
[build] use-vbo=true: FPS: 297 FrameTime: 3.367 ms
[texture] texture-filter=nearest: FPS: 289 FrameTime: 3.460 ms
[texture] texture-filter=linear: FPS: 292 FrameTime: 3.425 ms
[texture] texture-filter=mipmap: FPS: 294 FrameTime: 3.401 ms
[shading] shading=gouraud: FPS: 286 FrameTime: 3.497 ms
[shading] shading=blinn-phong-inf: FPS: 282 FrameTime: 3.546 ms
[shading] shading=phong: FPS: 276 FrameTime: 3.623 ms
[shading] shading=cel: FPS: 275 FrameTime: 3.636 ms
[bump] bump-render=high-poly: FPS: 247 FrameTime: 4.049 ms
[bump] bump-render=normals: FPS: 296 FrameTime: 3.378 ms
[bump] bump-render=height: FPS: 297 FrameTime: 3.367 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 272 FrameTime: 3.676 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: 220 FrameTime: 4.545 ms
[pulsar] light=false:quads=5:texture=false: FPS: 289 FrameTime: 3.460 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 163 FrameTime: 6.135 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 167 FrameTime: 5.988 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 199 FrameTime: 5.025 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 201 FrameTime: 4.975 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 207 FrameTime: 4.831 ms
[ideas] speed=duration: FPS: 247 FrameTime: 4.049 ms
[jellyfish] <default>: FPS: 244 FrameTime: 4.098 ms
[terrain] <default>: FPS: 68 FrameTime: 14.706 ms
[shadow] <default>: FPS: 226 FrameTime: 4.425 ms
[refract] <default>: FPS: 121 FrameTime: 8.264 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 292 FrameTime: 3.425 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 271 FrameTime: 3.690 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 290 FrameTime: 3.448 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 290 FrameTime: 3.448 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 277 FrameTime: 3.610 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 292 FrameTime: 3.425 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 289 FrameTime: 3.460 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 283 FrameTime: 3.534 ms
=======================================================
                                  glmark2 Score: 251 
=======================================================

Doing a little search on how the score of the NVIDIA can be so much lower than the Intel. I know it’s not much of a video card, but if my scores were that low, I would be very discrete too :D.

Great job, Malcolm: here are my 5 cents from an ASUS N551JW with i7 4720HQ + HD4600 + GTX960M (Optimus).


=======================================================
    glmark2 2014.03     **the Intel HD4600**
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) Haswell Mobile 
    GL_VERSION:    3.0 Mesa 11.0.0
=======================================================
[build] use-vbo=false: FPS: 3919 FrameTime: 0.255 ms
[build] use-vbo=true: FPS: 3952 FrameTime: 0.253 ms
[texture] texture-filter=nearest: FPS: 3611 FrameTime: 0.277 ms
[texture] texture-filter=linear: FPS: 3587 FrameTime: 0.279 ms
[texture] texture-filter=mipmap: FPS: 3594 FrameTime: 0.278 ms
[shading] shading=gouraud: FPS: 3319 FrameTime: 0.301 ms
[shading] shading=blinn-phong-inf: FPS: 3274 FrameTime: 0.305 ms
[shading] shading=phong: FPS: 3129 FrameTime: 0.320 ms
[shading] shading=cel: FPS: 3029 FrameTime: 0.330 ms
[bump] bump-render=high-poly: FPS: 2310 FrameTime: 0.433 ms
[bump] bump-render=normals: FPS: 3837 FrameTime: 0.261 ms
[bump] bump-render=height: FPS: 3754 FrameTime: 0.266 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 2230 FrameTime: 0.448 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: 938 FrameTime: 1.066 ms
[pulsar] light=false:quads=5:texture=false: FPS: 2740 FrameTime: 0.365 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 870 FrameTime: 1.149 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 1439 FrameTime: 0.695 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 939 FrameTime: 1.065 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1181 FrameTime: 0.847 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 978 FrameTime: 1.022 ms
[ideas] speed=duration: FPS: 2702 FrameTime: 0.370 ms
[jellyfish] <default>: FPS: 1538 FrameTime: 0.650 ms
[terrain] <default>: FPS: 211 FrameTime: 4.739 ms
[shadow] <default>: FPS: 1295 FrameTime: 0.772 ms
[refract] <default>: FPS: 366 FrameTime: 2.732 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 3281 FrameTime: 0.305 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 3338 FrameTime: 0.300 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 3258 FrameTime: 0.307 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 3321 FrameTime: 0.301 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 3388 FrameTime: 0.295 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 3301 FrameTime: 0.303 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 3302 FrameTime: 0.303 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 3261 FrameTime: 0.307 ms
=======================================================
                                  **glmark2 Score: 2581 **
=======================================================
bruno@LT_B:~> optirun glmark2
=======================================================
    glmark2 2014.03    ** the Optimus GTX 960M**
=======================================================
    OpenGL Information
    GL_VENDOR:     NVIDIA Corporation
    GL_RENDERER:   GeForce GTX 960M/PCIe/SSE2
    GL_VERSION:    4.5.0 NVIDIA 352.41
=======================================================
[build] use-vbo=false: FPS: 767 FrameTime: 1.304 ms
[build] use-vbo=true: FPS: 871 FrameTime: 1.148 ms
[texture] texture-filter=nearest: FPS: 886 FrameTime: 1.129 ms
[texture] texture-filter=linear: FPS: 867 FrameTime: 1.153 ms
[texture] texture-filter=mipmap: FPS: 855 FrameTime: 1.170 ms
[shading] shading=gouraud: FPS: 860 FrameTime: 1.163 ms
[shading] shading=blinn-phong-inf: FPS: 866 FrameTime: 1.155 ms
[shading] shading=phong: FPS: 844 FrameTime: 1.185 ms
[shading] shading=cel: FPS: 850 FrameTime: 1.176 ms
[bump] bump-render=high-poly: FPS: 829 FrameTime: 1.206 ms
[bump] bump-render=normals: FPS: 877 FrameTime: 1.140 ms
[bump] bump-render=height: FPS: 882 FrameTime: 1.134 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 844 FrameTime: 1.185 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: 787 FrameTime: 1.271 ms
[pulsar] light=false:quads=5:texture=false: FPS: 846 FrameTime: 1.182 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 491 FrameTime: 2.037 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 474 FrameTime: 2.110 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 474 FrameTime: 2.110 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 470 FrameTime: 2.128 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 493 FrameTime: 2.028 ms
[ideas] speed=duration: FPS: 750 FrameTime: 1.333 ms
[jellyfish] <default>: FPS: 803 FrameTime: 1.245 ms
[terrain] <default>: FPS: 317 FrameTime: 3.155 ms
[shadow] <default>: FPS: 776 FrameTime: 1.289 ms
[refract] <default>: FPS: 597 FrameTime: 1.675 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 868 FrameTime: 1.152 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 866 FrameTime: 1.155 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 848 FrameTime: 1.179 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 871 FrameTime: 1.148 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 838 FrameTime: 1.193 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 875 FrameTime: 1.143 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 872 FrameTime: 1.147 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 867 FrameTime: 1.153 ms
=======================================================
                                 ** glmark2 Score: 766** 
=======================================================

Apparently even seasoned ATIs can run circles around bumblebee…

On Thu 08 Oct 2015 10:26:02 PM CDT, OrsoBruno wrote:

malcolmlewis;2731579 Wrote:
> Hi
> Building the openSUSE packages now :wink:
> Welcome - openSUSE Build Service

Great job, Malcolm: here are my 5 cents from an ASUS N551JW with i7
4720HQ + HD4600 + GTX960M (Optimus).
<snip>

Apparently even seasoned ATIs can run circles around bumblebee…

Hi
It would appear there needs to be work done to improve? I’m going to
stick with intel gpu’s if I can…

I also fixed the runtime libpng warning by stripping the effect-2d.png
image.


Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
SUSE Linux Enterprise Desktop 12 | GNOME 3.10.1 | 3.12.44-52.18-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

For reference, I got the following result from a Toshiba Satellite Pro C850, with “Intel 3rd Gen Core processor Graphics Controller”, openSUSE 13.2, (KDE 4.14.9)

glmark2
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) Ivybridge Mobile 
    GL_VERSION:    3.0 Mesa 10.3.7
=======================================================
[build] use-vbo=false: FPS: 1129 FrameTime: 0.886 ms
[build] use-vbo=true: FPS: 1775 FrameTime: 0.563 ms
[texture] texture-filter=nearest: FPS: 1639 FrameTime: 0.610 ms
[texture] texture-filter=linear: FPS: 1642 FrameTime: 0.609 ms
[texture] texture-filter=mipmap: FPS: 1703 FrameTime: 0.587 ms
[shading] shading=gouraud: FPS: 1328 FrameTime: 0.753 ms
[shading] shading=blinn-phong-inf: FPS: 1322 FrameTime: 0.756 ms
[shading] shading=phong: FPS: 1317 FrameTime: 0.759 ms
[shading] shading=cel: FPS: 1317 FrameTime: 0.759 ms
[bump] bump-render=high-poly: FPS: 657 FrameTime: 1.522 ms
[bump] bump-render=normals: FPS: 1862 FrameTime: 0.537 ms
[bump] bump-render=height: FPS: 1828 FrameTime: 0.547 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1385 FrameTime: 0.722 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 740 FrameTime: 1.351 ms
[pulsar] light=false:quads=5:texture=false: FPS: 1610 FrameTime: 0.621 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 493 FrameTime: 2.028 ms
[desktop] effect=shadow:windows=4: FPS: 715 FrameTime: 1.399 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 473 FrameTime: 2.114 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 458 FrameTime: 2.183 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 492 FrameTime: 2.033 ms
[ideas] speed=duration: FPS: 1095 FrameTime: 0.913 ms
[jellyfish] <default>: FPS: 913 FrameTime: 1.095 ms
[terrain] <default>: FPS: 110 FrameTime: 9.091 ms
[shadow] <default>: FPS: 448 FrameTime: 2.232 ms
[refract] <default>: FPS: 118 FrameTime: 8.475 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 1521 FrameTime: 0.657 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1512 FrameTime: 0.661 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 1498 FrameTime: 0.668 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 1510 FrameTime: 0.662 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1516 FrameTime: 0.660 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1396 FrameTime: 0.716 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1510 FrameTime: 0.662 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1537 FrameTime: 0.651 ms
=======================================================
                                  glmark2 Score: 1168 
=======================================================
dean@linux-54cw:~> 

Just a warning: there are test modes in which the NVIDIA chip really outshines the integrated one.
Apparently they involve not actually drawing the screen… so we might have an idea of where the bumblebee bottleneck really is.
Just an example:


bruno@LT_B:~> optirun glmark2 -b build:use-vbo=true --frame-end none --off-screen
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     NVIDIA Corporation
    GL_RENDERER:   GeForce GTX 960M/PCIe/SSE2
    GL_VERSION:    4.5.0 NVIDIA 352.41
=======================================================
[build] use-vbo=true: FPS: 469149 FrameTime: 0.002 ms
=======================================================
      ** the NVIDIA GTX 960M       glmark2 Score: 469149** 
=======================================================
^C 9481.268137] [WARN]Received Interrupt signal.
bruno@LT_B:~> glmark2 -b build:use-vbo=true --frame-end none --off-screen
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Intel Open Source Technology Center
    GL_RENDERER:   Mesa DRI Intel(R) Haswell Mobile 
    GL_VERSION:    3.0 Mesa 11.0.0
=======================================================
[build] use-vbo=true: FPS: 20660 FrameTime: 0.048 ms
=======================================================
      **the Intel HD4600            glmark2 Score: 20660** 
=======================================================

Not sure what that actually means, maybe I’ll be able to do more meaningful tests over the weekend.
Stay tuned…

Well the Intel is used to actually draw the screen.

That is the odd thing about Optimus it uses the Intel to render and if used the NVIDIA as a compute engine the rendering still done by Intel’

Personally I call it FrankenVideo

I think what happened is that Intel started shipping CPU with GPU onboard. and NVIDA thought the would lose market.and in general Intel GPU are dogs compared to NVIDA and AMD GPU but they also are easy on batteries which neither AMD or NVIDIA chips are. So a devils pack was made and NVIDIA came up with Optimus which kept the chips rolling out the doors. But that’s just my opinion :stuck_out_tongue:

If we are to describe a hardware configuration in which all the display devices are (internally) directly attached to the Intel gpu, then

  • In typical light duty use, the Intel gpu is used to both render the screen and output it to the display device(s). The nvidia sits by idle in a low power state.
  • In usage cases with more demanding graphics, the nvidia gpu is used to render the screen and hands that finished data to the Intel gpu, which functions solely as a dumb output to the display device(s)