Dual Monitor Full-Screen Display Problems

Started by
-1 comments, last by swiv 10 years, 1 month ago
Hi,
To cut a long story short I am trying to develop a game that will run on two separate monitors in full screen exclusive mode at the same time (using DX9). I have followed the advice on the following links:
Everything seems to be working except that second monitor refuses to switch into full-screen mode. I get no errors at all from any of the DX calls (I am using two devices, one for each monitor, each created on a separate adapter). The first monitor switches to full-screen mode but the second one does not. The second window does show up at the top left hand corner of the second monitor but the desktop is shown underneath; it is not in full screen mode (the monitor's display has not changed to the requested resolution).
I thought this was a problem with the way I was setting up a dual screen display, so I though I'd go back to basics and create an application that simply has one screen and one device, but create that device using the adapter id 1 (which relates to the graphics card connected my second monitor).
Again, I get no errors at all, but even though I don't reference adapter id 0 at all in my code, when I create a full screen device on adapter 1 the monitor connected to adapter id 0 turns full-screen and the monitor attached to adapter 1 does not. The window does appear on the second monitor (which is connected to adapter id 1), but not in full screen mode (the monitor's resolution does not change).
The device create code is very simple:
// It doesn't matter which adapter I use, adapter 0 always turns full-screen when the device is created and reset
// int gfxAdapterNum = 0;
int gfxAdapterNum = 1;
D3D9->CreateDevice(gfxAdapterNum, D3DDEVTYPE_HAL, hWnd, flags &_D3DPP, &_D3DDevice);
I am completely perplexed as to why this is happening. Basically, it seems like it doesn't matter which adapter I use when I create the device, if I set any adapter to full-screen mode it changes the full screen mode of adapter 0 (the default).
I am using windows 8.1 and a single Nvidia 780 GTX graphics card with two outputs (that show up as two adapters with id 0 and 1). I thought the fact it was a doubled headed card might be the problem, so I enabled my mobo's onboard gfx card and used that as another adapter, but I got the same behaviour.
Any help anybody could shed on the issue would be very much appreciated as I'm completely and utterly stumped!
Thanks!

This topic is closed to new replies.

Advertisement