Is there a way to dynamically resize resolution in full screen mode?

Like for example, If I want to rescale a game from 1920X1080, to 1600X900.

Every time I attempt this in full screen mode, it just zooms in to match the specificed resolution, but doesn’t actually rescale the content to fit the screen.

I can get it to work in windowed mode, which sort of defeats the purpose because I want to rescale the game just for performance options.


What you are describing as “zooming” is the game resolution changing.

Your assets are still whatever size you made them at. So if you are going to a smaller resolution than they were designed at, then they will appear bigger on the visible screen.

For what you are looking to do, you will need to both change the resolution via events AND zoom out every game layer by an inverse of whatever resolution decrease you do. If you were going from 1920x1080 down to 960x540 you would need to set your zoom on eqch layer to 0.5x since it is 1/2 the size of the original. 1600x900 would be roughly 0.83333x of 1080p.

Note two things:

  1. Scaling can’t make details that weren’t there, so zooming out to odd values will give you some loss of detail and non square pixels in some cases.

  2. 9 out of 10 times, changing your internal rendering resolution is not going to impact performance of a 2D game on any PC or mobile device made in the last 6-7 years or so.

Actually a good point. I just realized that if it doesn’t alter sprite size it won’t have any impact on performance whatsoever. Thanks for the reply, Silver.