Skip to content

Display Scaling and Calibration #52

@alxnull

Description

@alxnull

Update: The display scaling & calibration features are now released in v.0.10.0. See http://bluegrams.com/blog/2022/09/display-scaling-and-calibration-with-screenruler.html for explanation.

As the current version of ScreenRuler has various issues with display scaling (issues #28, #31, #45, #51), high-DPI monitors and calibration, version 0.10.0 tries to introduce a new scaling/ calibration mechanism.

This feature is currently tested. You can find a pre-release build here: https://sourceforge.net/projects/screenruler/files/pre-release/ScreenRuler-v.0.10.0-Portable.zip/download. Please try it out and give feedback below, especially if something does not work as expected.

Detailed explanation

Since v.0.10, ScreenRuler is per-monitor DPI-aware by default, i.e. it ...

  • ... automatically and dynamically scales the UI according to Windows' display scaling settings of the current monitor
  • ... can adjust ruler scales according to Monitor pixel densities

The latter feature can be configured in the app via the ruler calibration dialog, which can be accessed either via the context menu (Calibrate Ruler) or by pressing Ctrl+K.

Ruler calibration provides multiple built-in DPI scaling behaviors with different characteristics that are suitable for different use cases:

  • Use scaled pixels: Ruler scales will be based on the virtual/logical DPI values provided by Windows (i.e. 96dpi by default). Additionally, the ruler scale will be scaled corresponding to Windows' display settings for scaling on high-DPI monitors (e.g. assuming 120dpi for a scaling of 125%).

    • When to use? Use this mode to measure items that are scaled by the OS and/or unaware of monitor pixel densities.
      Measurements in this mode might not correspond to physical "off-screen" dimensions.
  • Automatic (per-monitor): Ruler scales will be based on the raw DPI values of each monitor, as provided by the OS. Note that raw DPI values might differ slightly for each monitor and might not match virtual or scaled DPI values directly.
    In this mode, the ruler scale is dynamically adjusted to the raw pixel density of the current monitor.

    • When to use? This mode should provide the most accurate mapping from physical "off-screen" dimensions to "on-screen" dimensions.
      Use this mode to accurately measure items in physical dimensions (such as inches, centimeters etc.)
  • Manual: Manually specify monitor DPI values on which ruler scales will be based. There are two ways to do this: You can directly specify a custom DPI value in the ruler calibration dialog under Monitor DPI -> Horizontal Scaling (DPI)/Vertical Scaling (DPI). Or, you can calibrate ruler scales from the current dimensions of the ruler under the Measuring Unit tab (see Examples). Ruler scales will always be computed from this fixed pixel density value independent of current display scaling or monitor DPI.

    • When to use? Use this mode to calibrate ruler scales independent of OS-based automatic display scaling or monitor pixel densities.
      Useful e.g. if automatic scale adaptations fail or to adjust to an application-specific scale.
  • Manual (per-monitor): Similar to Manual, however, instead of specifying one global DPI value, allows different configurations for each connected monitor. Select the monitor to calibrate from the dropdown below the scaling behavior selection.

    • When to use? To calibrate ruler scales in multi-display setups where each display requires a different calibration.
      Especially useful if automatic scale adaptations fail.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions