Skip to content

Investigate whether DXGI+OpenGL is possible on Windows #2

Closed
thefiddler opened this Issue Nov 18, 2013 · 7 comments

5 participants

@thefiddler

GDI is deprecated on Windows 8+. Investigate whether we can instantiate an OpenGL context on a DXGI DC.

@SPGardebiter

Hello,
I believe this is still an issue in the newest version (1.1-4c) of OpenTK?
Have you got any idea yet? Because I really want exlusive fullscreen access in my own game, since the perfomance is a lot better and I've seen many people complain about borderless fullscreen games (like quake 3), as the exlusive mouse and keyboard access hinders the user to ALT+TAB properly out of the game. As windows is the major platform for most gamers, I don't think this is a minor issue.

I'm pretty sure that GLFW uses exlusive fullscreen access on my system (I'm still using Windows XP at the moment), since it's behaviour is very different from the window in OpenTK. For example, it isn't visible in the background anymore, if I use ALT+TAB.

@Frassle
Frassle commented Apr 29, 2015

I don't think we can do anything to support XP issues. But I've got Windows 7 and 8 machines here so I can see how fullscreen DX behaves verse what we do on those platforms.

@SPGardebiter

This is not a XP exlusive issue, at the moment it rather is an issue of all windows operating systems. Also according to my knowledge XP is still supported by OpenTK (and I personally still plan to support XP in my applications, even if I change my OS soon).
Anyway, I'm still pretty sure GLFW does a exlusive fullscreen access on my OS and it doesn't seem to depend on any DirectX library or atleast it works very different than a OpenTK window.

@Frassle
Frassle commented Apr 29, 2015

Also according to my knowledge XP is still supported by OpenTK

It probably still works, but that's not the same as supported. But will probably find whatever is needed for Win7 to make fullscreen work better will backport to work on XP as well.

@Frassle
Frassle commented May 3, 2015

Ok I had a look into this. I can't see any way for an OpenGL application to get exclusive access to fullscreen. GLFW seems to change display mode rather than change window size, but that I don't see anything to suggest they're taking exclusive fullscreen, just some clever tracking of window focus.

It's a bit more involved to get the a fullscreen window with a given resolution in OpenTK as you have to get the DisplayDevice set the resolution then make the window fullscreen (and manage all the focus tracking yourself), and maybe we should be doing that for users. But either way your getting similar results, a monitor set to a given resolution and a borderless toplevel window covering that monitor.

N.B If we do work out a way to do exclusive fullscreen we should probably add it as a new WindowState, non-exclusive fullscreen does have it's benefits and given we've already worked it out it seems silly to push that work down to the developers again.

@wcdeich4
wcdeich4 commented Jun 7, 2016

@thefiddler @varon @amulware This issue post is over 1 year old, but GDI is an important issue, should this issue be closed?

@varon
opentk member
varon commented Jun 7, 2016

@wcdeich4 I'm not intimately familiar with the windowing system, but if you asked me, it seems unlikely that microsoft is going to cut support for it.
Check this for a brief discussion here: mono/MonoGame#1567

it seems like the most sane approach would be to move to SDL, which should also simplify our lives significantly.

I'm in favour of closing this issue, so go ahead. We can always re-open it if needed.

@varon varon closed this Jun 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.