Dolphin, the GameCube and Wii emulator - Forums

Full Version: Why isn't exclusive fullscreen implemented in D3D12
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
It seems D3D12 is by far the fastest backend, but why won't anyone implement exclusive fullscreen in D3D12?  In doing so, we can experience an even faster boost when playing in fullscreen mode.
Much like Vulkan's backend, there is no way for the D3D12 backend to achieve exclusive fullscreen. In this case, it's not a limitation of the API, but a limitation of how the backend was designed. Some of the speed would have to be sacrificed in order to get exclusive fullscreen support along with a lengthy rewrite.
It as nothing to do with backends or API, but DWM ( triple buffered Windows compositor) v-syncing everything on windows.

What would happen if this hard-coded vsync in DWM was turned off, they must be a way to do it.
You can disable DWM completely in Windows 7, but AFAIK in Windows 8/10 you can't.
Using a System Command Prompt, If i kill DWM.exe, the screen will flicker, but DWM.exe reappears again, not sure how to workaround that.
In Windows 7 you can change your theme to "classic" (no Aero) and then kill and disable the DWM service through services.msc to eliminate DWM permanently. I've gotten the impression that MS won't let you do this on 8/10, so simply killing the process won't work, and neither will anything else.
Note: Vulkan now has exclusive fullscreen in some drivers, like the NVIDIA ones. And it works for Dolphin.
(10-15-2016, 02:32 AM)JMC47 Wrote: [ -> ]Much like Vulkan's backend, there is no way for the D3D12 backend to achieve exclusive fullscreen. In this case, it's not a limitation of the API, but a limitation of how the backend was designed. Some of the speed would have to be sacrificed in order to get exclusive fullscreen support along with a lengthy rewrite.

Wait seriously? Vulkan and DX12 both were designed to never support exclusive fullscreen? That's absurd. I'm sorely disappointed that Vulkan is doing this too. I don't much care for DX12, but Vulkan was the shining hopeful that would disobey Microsoft's scummy business tactics and still provide a good API for games.

I do not like this precedent of all new APIs completely forgoing exclusive fullscreen. Forced v-sync can kindly !@#$ right the hell off.

Wait, now I'm really confused. I googled Vulkan exclusive fullscreen and saw this post by you on the /r/emulation subreddit:
https://www.reddit.com/r/emulation/comme...exclusive/

Did this change again at some point? Is what is posted in this reddit link no longer valid?
(03-18-2017, 03:10 AM)DaRkL3AD3R Wrote: [ -> ]Wait seriously? Vulkan and DX12 both were designed to never support exclusive fullscreen? That's absurd. I'm sorely disappointed that Vulkan is doing this too. I don't much care for DX12, but Vulkan was the shining hopeful that would disobey Microsoft's scummy business tactics and still provide a good API for games.

I do not like this precedent of all new APIs completely forgoing exclusive fullscreen. Forced v-sync can kindly !@#$ right the hell off.

The post you quoted says:

"In this case, it's not a limitation of the API, but a limitation of how the backend was designed."

It's a Dolphin problem, not a problem that's inherent to the APIs.
Some Vulkan drivers flat out don't support exclusive fullscreen.
Pages: 1 2