Jump to content

BUG: Issue with Windows 11 Display Scaling feature


Recommended Posts

Testing out a new system I learned about an issue with Combat Mission and Windows Scaling feature.

Scaling is very common on smaller devices, especially ones with higher resolutions to provide an improved DPI experience.

However when scaling is enabled you get this cryptic message:

"Could not initialize graphics display. REQUIRED: 1024 x 768, 32-bit color."

Turning the scaling to 100% does resolve the issue but this is a pain for anyone who wants to PBEM and open and close CM frequently.

Maybe something engine v5 can resolve ;) 

Windows-Scaling.png

CM-screen-scalling-error.png

Link to comment
Share on other sites

This is bug because other games do not use the Windows Scaling, they know to bypass this and run the game at resolution either specified in the user settings or the native display resolution.  

I believe that Battlefront just needs to update their error handling to not refuse to start the game when Scaling is used.

The other thing is MacOS has been using scaling for years and this Combat Mission works fine on my Mac with scaling always enabled.

Screen Shot 2022-03-24 at 2.01.34 PM.png

Edited by nox_plague
Link to comment
Share on other sites

18 minutes ago, nox_plague said:

This is bug because other games do not use the Windows Scaling, they know to bypass this and run the game at resolution either specified in the user settings or the native display resolution.

 

So Windows adds something and then software needs to be updated to bypass it? LOL

(Well, I have nothing constructive to add, I am afraid... But it does reinforce my opinion to either stick to 96 dpi screens for Windows Software, or go at least double that dpi. Anything in between seems blurry and messy)

Link to comment
Share on other sites

36 minutes ago, Kevin2k said:

So Windows adds something and then software needs to be updated to bypass it? LOL

Yup, it's been around since Windows 8 so I think 10 years for software developers to support/work around something is acceptable.

https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows

Again, I'm not suggesting CM USES DPI scaling, I'm saying they should update their error handling when opening the game so it does not fail to load just because DPI settings are enabled.  I doubt the OpenGL engine is even aware of scaling, it's just the games startup logic that fails.

Also CM handles this on MacOS, so it should be able to handle it on Windows too.  Gotta get all those new Steam players up and running CM seamlessly ;) 

Edited by nox_plague
spelling corrections
Link to comment
Share on other sites

9 minutes ago, nox_plague said:

Yup, it's been around since Windows 8 so I think 10 years for software developers to support/work around something is acceptable.

That sounds like Macintosh talk, like the iPad/iPhone IOS 12 32-bit drop. In Windows, in the past at least, it used to be that legacy 32 bit software that will never-again be updated, can still be expected to run fine. At least when it does not do anything ambitious or special, like CM checking available screen space.

I am not making excuses for Battlefront not being on top of this, it being a practical difficulty, regardless of what caused it or whether or not it is acceptable.

 

 

Link to comment
Share on other sites

User experience recap:

1. I bought a new Alienware x14 from Dell.

2. I installed Combat Mission Black Sea

3. Game failed to run.  Error shown above.

4. I contacted Slitherine thinking it must be their issue since I was trying out the Steam version for the first time.

5. Their support failed to find a solution.

6. I uninstalled the Steam version, downloaded the BFC version, and ran into the same issue.

7. Spent hours trying to debug.  Came across the issue - Display Scaling.

Conclusion: The default settings of a brand new Windows laptop caused Combat Mission to fail to run.

As a fan of the CM games and excited for Battlefront to grow their audience via Steam (which has nothing to due with the issue just to be clear) want to avoid turning off potential new players with a poor experience.

TDLR:  Modern devices are shipping with default settings that "break" CM out-of-the-box.

I report this bug on the of chance it helps someone else troubleshooting with a new Windows device or that Battlefront wants to improve their software.

P.S.  MacOS scaling does not cause this issue.

Edited by nox_plague
clarity
Link to comment
Share on other sites

  • 4 weeks later...

For anyone encountering this, the solution (at least on Win10+11) is to override DPI scaling in the executable properties, setting it to "Application". I need to do this for all CM games. There is no need to turn off DPI scaling to run the game. See attached screenshot.

For instance, running CM on a 2560x1440 display, the UI is too small for my eyes, so I want to run it at 1920x1080, so I set this in "display size.txt":
1920 1080 60

But with 150% DPI scaling set in Windows, the game does not handle this at all, thinking I'm running at 1080/1.5 = 720.

If the game engine had supported DPI scaling this would of course not be necessary, as any program that support it will automatically scale accordingly. But for games it's often necessary to override scaling.

It might be possible for Battlefront to fix this by compiling the executable with a manifest telling the OS the application does not support scaling, it will then fall back to using Application scaling:
https://docs.microsoft.com/en-us/windows/win32/hidpi/setting-the-default-dpi-awareness-for-a-process

 

image.png.65d662bacd994b1eb3c3f5b2de70ea8f.png

Edited by Shadrach
Link to comment
Share on other sites

Scaling has been part of Windows since at least XP, and part of Microsoft's application design guidelines since that time. Battlefront is hardly the first developer to lazily ignore those guidelines, and Windows has always been very permissive letting poorly designed software run.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...