0 votes

Greetings!

Is there any way to by-pass OS scalling? I am currently working on a project which works fine on a lot of devices. But Godot fails to scale the game when a computer/laptop has scalling activated.

My question:

Is it possible to get the scalling percentage of the OS via Godot? Or is it currently impossible to fix this problem and I just have to deal with it?

Thanks in advance!

in Engine by (71 points)

Which kind of scaling are you taling about? I'm not sure Godot can do that

When you search in Windows for "Display Settings" you will come to these settings:

https://imgur.com/a/cxvQl

Lets say you have a FullHD high DPI Screen, your scalling percentrage will be set to 125% (laptop comes with this setting per default, if you disable it, your icons will be too small to read).

If you then start a Godot game, this scalling/zoom will be applied to the game too. Which results in a zommed in version of the game and therefore a unplayable version of the game if you have this scalling turned on.

I have tried two solutions (marked in red), but they both don't help:

https://imgur.com/a/aBXFc

Any idea on how to solve this? Or is the scalling not the problem, but something else?

Well... doesn't this mean your game will run in a higher resolution? Why not make your game simply support this? Did you see how other games do it?

The game is zoomed in, if a computer has enabled a scalling higher than 100%. This is not good. Is there any way to ignore this scalling?

im mot sure what u r reffering to, just to make it clear
whenever you play a game made in Godot(test play)
the game us resized 125% so it looks like it is zoomed in your
device(thewhole game streched out of the dusplay of the device)
if so.

does setting the game to fullscreen still do this?

also try to print an OS.getscreensize() on ready and check if the result is the same as your device resolution.

No fullscreen doesn't help and the screensize stays the same.

I've run into this on a game I recently released, currently I'm just telling users to override DPI scaling for the application.

Here's how it is done on Windows:

  1. Right click the exe and go to Properties
  2. Go to the Compatibility tab
  3. Check the box next to "Override high DPI scaling behavior"
  4. Apply

If anyone uses Windows and wants to download this to see what I mean, here's the game:

https://enmod.itch.io/school-years

Would love to know if there was a way to set that override flag on run though.

Please log in or register to answer this question.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.