September 2014
I've recently encountered a problem with the fullscreen mode on Battlefield 4 and narrowed it down to be compatibility with Windows display scaling.
Basically, the fullscreen mode does not calibrate properly when Windows scaling is enabled (any option above 100%). The result is that where my mouse is on the monitor does not match up with where the game thinks my mouse is. While turning scaling down to play Battlefield does correct the issue, having to change the option and logoff/logon the computer to play the game (as well as rescaling nearly everything on my desktop) is something I'd prefer to avoid. Switching to borderless window mode also corrects the issue, but since I run a Crossfire setup I'd prefer to avoid that as well.
Is there a way to maintain Windows scaling and have correct fullscreen function?
Solved! Go to Solution.
September 2014 - last edited September 2014
Alright, I've corrected the issue. For posterity I'll post the fix.
You will have to modify the compatibility flags for your application directly in the registry (using regedit) as Windows' dialog grays out the checkboxes of x64 applications.
You can find all the application compaitibility flags at the following location in the registry: HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\LayersIn that key, create a String entry with:
Name = The full path to the .exe of your application
Type = String (REG_SZ)
Data = HIGHDPIAWARE
This forces Windows to disable DPI scaling on the application, despite it being 64-bit. It corrected my fullscreen issue.
September 2014 - last edited September 2014
Alright, I've corrected the issue. For posterity I'll post the fix.
You will have to modify the compatibility flags for your application directly in the registry (using regedit) as Windows' dialog grays out the checkboxes of x64 applications.
You can find all the application compaitibility flags at the following location in the registry: HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\LayersIn that key, create a String entry with:
Name = The full path to the .exe of your application
Type = String (REG_SZ)
Data = HIGHDPIAWARE
This forces Windows to disable DPI scaling on the application, despite it being 64-bit. It corrected my fullscreen issue.