• 2D
  • Any views on 2D performance for 1080p+? How do lower user resolutions affect internal rendering?

I'm working on a platformer/metroidvania-lite that I've currently set at a default resolution of 720p. This is not intended to be a 'crunchy' fast-paced retro pixel-based game using pre-animated sprites, as I'll be animating cutouts in the AnimationPlayer using HD artwork. However, I will be using tile sets for my platforms, and the viewport is fixed - each area is a single screen. It might make use of some particles, shaders and transparency stuff, as well as some subtle WorldEnvironment blurring/bloom.

However, my character is quite small, and even at that resolution the detail is poor. I'm aiming for it to be played on desktop systems - hopefully the full triumvirate of Windows, Mac and Linux - so I'm thinking of upping the default resolution to 1080p.

Do you think this might have serious performance implications?

Does Godot only internally render at the default resolution, or will it adjust rendering to lower resolutions in fullscreen if, for example, someone's screen is smaller than 1080p (or they set the desktop resolution lower to get better performance)?

I guess I'm also concerned about performance on HiDPI 'Retina' style monitors that are 4K+.

FYI, I'm creating it using my M1-based Mac mini attached to a non-Apple 4K display, and only have a crappy old PC to test it on (Athlon II X4 640 with 8Gb DDR3 and GT 1030).

Do you think this might have serious performance implications?

Probably not, especially in 2D. Rendering at a lower resolution is mainly relevant in 3D games.

Does Godot only internally render at the default resolution, or will it adjust rendering to lower resolutions in fullscreen if, for example, someone's screen is smaller than 1080p (or they set the desktop resolution lower to get better performance)?

If you use the 2d stretch mode, the viewport resolution will adjust automtaically. If you use the viewport stretch mode, it won't – you'll have to do that manually.

I guess I'm also concerned about performance on HiDPI 'Retina' style monitors that are 4K+.

By default, hiDPI support is disabled, which means that Windows and macOS will use their respective lowDPI fallbacks. This makes the game look less crisp and may break fullscreen on Windows though. Also, Linux doesn't have a lowDPI fallback available (on X11 at least).

You can enable Allow Hidpi in the Project Settings to make the Godot project be considered as DPI-aware by the operating system.

Many thanks for your comprehensive response. Very helpful.

I've just tested out enlarging my project from 720p to 1080p and importing some HD assets, and I don't notice any change in performance, even with several layers of large images with gradated transparency etc.