Re: [osg-users] Nvidia Optimus / AMD switchable

2012-05-10 Thread Chris Hanson
On Thu, May 10, 2012 at 7:32 AM, Christiansen, Brad <
brad.christian...@thalesgroup.com.au> wrote:

> Hi,
>
> **
>
> I am looking at getting a couple of laptops with Nvidias 'Optimus'
> switchable graphics and AMDs equivalent.
>
> My hope is to be able to manually switch between the two so I can test our
> application using both discrete and Intel graphics.  There was a thread
> back in September of last year which didn’t sound too encouraging.
>

  You can do this on a global, or per-application basis using the Nvidia 3D
controls tool.
 --

> **
>
Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com
http://www.alphapixel.com/
Training • Consulting • Contracting
3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 •
GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL
Digital Imaging • GIS • GPS • Telemetry • Cryptography • Digital Audio •
LIDAR • Kinect • Embedded • Mobile • iPhone/iPad/iOS • Android
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Nvidia Optimus / AMD switchable

2012-05-10 Thread Jean-Sébastien Guay

Hi Brad,


I am looking at getting a couple of laptops with Nvidias 'Optimus'
switchable graphics and AMDs equivalent.

My hope is to be able to manually switch between the two so I can test
our application using both discrete and Intel graphics. There was a
thread back in September of last year which didn’t sound too encouraging.

Can anyone provide any feedback on the current state of these
technologies when running OSG based applications?


The last time I tested this, the latest NVidia Verde driver behaved 
pretty well. Essentially, the driver lets you select between 
"auto-switch or manual switch" but these are misnomers. They should be 
called "behavior-guided and profile-guided" switching.


When on "auto-switch", the driver tries to detect usage of a 3D API and 
switch to discrete graphics. This seems to work well for Direct3D 
programs, and for some OpenGL programs, but our own applications would 
create an offscreen context to detect hardware features and then create 
another context for the actual application, and this "auto-switching" 
seemed to switch just a bit too late, which meant that the detection 
would detect the integrated graphics, turn off a bunch of features, 
possibly even create some OpenGL objects on the integrated graphics and 
then switch to the discrete graphics, with dire consequences.


The manual switch means that you need to create a profile for your 
application. In the profile (which just matches you app's exe filename), 
you tell it whether it should run on the discrete graphics or the 
integrated graphics. Note that adding a profile works in "auto-switch" 
mode too, meaning the profile will override the behavior detection.


But making a profile (or telling all your users to make a profile) might 
be a hurdle you don't want for your app. If the auto-switch mode works 
well enough, just use that.


There's a third mode, which is to force using the discrete graphics, the 
integrated graphics, or Optimus in the BIOS. We ended up using only 
discrete graphics in the BIOS, because we didn't want to deal with the 
other modes.


It's been a while since I tested this. Hopefully newer drivers improve 
this situation. Let us know in any case.


Hope this helps,

J-S
--
__
Jean-Sebastien Guay  jean_...@videotron.ca
http://whitestar02.dyndns-web.com/
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org