Some Laptops come with both a low power integrated graphics and a high power discrete graphics card along with drivers to choose what card to render graphics with.
The issue is that the display buffer will only be in the integrated card, only it will have access to the display ports and it manages ferrying data and rendering commands to the high power graphics card as it chooses. (oh, and it will almost always be an intel card for the integrated, triggering the blacklist)
When DS attempts to force rendering to the discrete card the output goes nowhere because the intel card has to be involved in the stack or it has no idea what to do with what the discrete card is rendering. Leading to a plain white map window.
I don't have such a laptop, but after working with a few people who do, I have been able to figure this out.
Solutions:
1.Somehow detect when this is the case and disable the intel blacklist and/or just use the default gpu
2.Add an option to disable the intel blacklist and just use the default gpu.
Sidenote: You can export some stuff to force rendering to the discrete card (but would still have to send directx commands to the default card)
extern "C" {
_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}
extern "C"
{
__declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}
I should note that I'm a bit out of my area of expertise on this, this is what I've managed to gather googling around, and mainly based on these documents: (as well as what people on stack and hp forums have said)
http://developer.download.nvidia.com/devzone/devcenter/ gamegraphics/files/OptimusRenderingPolicies.pdf
http://www.nvidia.co.uk/object/LO_optimus_whitepapers.html
So bits of detail may be incorrect
Work arounds
Disable the nvidea card in device manager so it stops attempting to render to it
I can always help if it is needed at all.