Switchable Graphics Systems (NVidia and AMD)
Last updated: June 28, 2015
The desire to have portable computers that can last long on a single charge while also being able to periodically deliver high performance, have lead chip manufacturers to come up with ways to intelligently switch between power-saving and high performance modes. One way is to turn off the gpu when it’s not needed and instead rely on a basic and simpler gpu that is integrated on the cpu. Through drivers these computers are able to switch between two different gpus on the fly, without any interruption. Many modern notebooks and laptops have this system built-in and it affects how software like XSplit performs.
Before we get into the details, let’s list some definitions.
Definitions/facts:
- iGPU – Integrated GPU (aka IGP – Integrated Graphics Processor), used for basic Windows desktop rendering to conserve power.
- dGPU – Discrete GPU, for high performance, often times used for games.
- Applications can run off either the iGPU or the dGPU. This is controlled in the gpu driver software.
Nvidia Optimus
On all NVidia Optimus enabled laptops, XSplit is pre-programmed to start on dGPU since V2 release, and as a result most users should see improved performance in Gamesource capture from DirectX games. With recent improvements in XSplit V2.1 + screen capture should now also work as expected in this configuration.
AMD Enduro
Recommended settings:
Make sure to you run XSplit on iGPU. XSplit makes extensive use of shared Direct3D surfaces in its rendering engine. Since Enduro does not support shared surfaces on dGPU, XSplit will NOT run on dGPU.
If using XSplit Broadcaster, Screen Capture may be used as good alternative for Gamecapture for game running in Windowed mode. Due to the lack of support for d3d shared surfaces screen capture will usually work better on laptops with AMD graphics. XSplit Gamecaster only uses Gamecapture for both PC games and games running via the built in console viewer and there is no alternative available.
Background:
AMD’s Dynamic Switchable Graphics (Enduro) is, according to our testing, not fully compatible with the full Direct3D API, hereunder specifically the use of shared surfaces. The competing Optimus technology from Nvidia works as long as applications only use shared surfaces either on dGPU or iGPU, but with Enduro and the latest Catalyst driver we have tested as of March 2013, the driver fails to work with Direct3D shared surface handles for any Direct3D device created on dGPU. We have created this bug rapport with AMD here changed (https://community.amd.com/message/1288804).
Update June 28, 2015: As far as we are aware, there has not been any progress made by AMD on the support of shared surfaces in AMD drivers. Recent tests on laptops with Intel CPU and AMD mobile graphics still show the same issue. Until the mentioned issue is resolved, laptops with Nvidia Graphics will continue to have considerable better performance with XSplit.