Display Scaling (again)

Following up on this thread in the chat and my own post here in the forum (which is closed).

I did some more digging and came across these two:

  1. A lengthy and insightful blog post by Chickensoft about display scaling on macOS and Windows and their Godot package that deals with it.
  2. A rust crate that deals with display scaling on Linux, macOS and Windows.
1 Like

My proposition is to make somehow DIP available in CallerInfo

Since SkiaRenderer already has User32.dll and it’s a Form there seems to be dpi available directly Control.DeviceDpi Property (System.Windows.Forms) | Microsoft Learn

However instead of pluggin it directly, i would made it available in the graph, so it’s up to user to use it…

Adding it to the CallerInfo sounds good. Will see what we can do.

In upcoming you’ll find a new property Scaling on CallerInfo transporting the monitor scaling. When we switch space of a Skia renderer window to one taking DPI into account you should see the content getting scaled correctly now when moving the window from screen to screen with different scaling.
This does not fix ImGui yet - probably best we update that one to a newer version where they added per monitor DPI and also dynamic font scaling.

8 Likes

@Elias can we have this on vvvv-public-feed also please, not sure if 2025.7.1-hdr-0005-ge89e4b5716 is the one with this feat…

@antokhio it should be in 7.1-66.

1 Like

late to the party, but i did it like so:


not a per monitor solution, tough, so thanks for the improvements.

1 Like