Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-49195

[REG 5.5->5.6] QT_AUTO_SCREEN_SCALE_FACTOR fails on Windows with custom system text scaling

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 5.6.0 Beta
    • 5.6
    • GUI: Font handling
    • None
    • Windows 8.1
    • 50bda9e2aca69f67da6722e481ce4e9c1a21471b (qtbase/5.6, 5.11.2015, 5.6b)

    Description

      On Windows, there is the option to scale the ui under Control Panel\Appearance and Personalization\Display On a high dpi system the scaling would default to 200%, but can be manually set to e.g. 100%. That worked well with Qt 5.5 and QT_DEVICE_PIXEL_RATIO=auto, where Qt didn't apply scaling to Ui or text. On Qt 5.6, however, when using QT_AUTO_SCREEN_SCALE_FACTOR=1 the text scaling optin is igonred, and it does still scale the Ui by 2, and the text rendering is bad (spacing between characters).

      Imho a regression and very difficult to work around.

      This is a screenshot of Windows 8.1 on a HighDPI scree and system text scaling manually set to 100%

      dpiscaling = 100%

      Screens: 1, High DPI scaling: inactive
      # 0 "\\.\DISPLAY1" Depth: 32 Primary: yes
        Geometry: 2880x1620+0+0 Available: 2880x1580+0+0
        Physical size: 344x193 mm  Refresh: 50 Hz Power state: 0
        Physical DPI: 212.651,213.202 Logical DPI: 96,96
        DevicePixelRatio: 1 Pixel density: 2
        Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0
      

      dpiscaling = 100%, QT_AUTO_SCREEN_SCALE_FACTOR=1

      Screens: 1, High DPI scaling: active
      # 0 "\\.\DISPLAY1" Depth: 32 Primary: yes
        Geometry: 1440x810+0+0 (native: 2880x1620+0+0) Available: 1440x790+0+0
        Physical size: 344x193 mm  Refresh: 50 Hz Power state: 0
        Physical DPI: 106.326,106.601 Logical DPI: 48,48 (native: 96,96)
        High DPI scaling factor: 2 DevicePixelRatio: 2 Pixel density: 2
        Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0
      

      dpiscaling = 200%

      Screens: 1, High DPI scaling: inactive
      # 0 "\\.\DISPLAY1" Depth: 32 Primary: yes
        Geometry: 2880x1620+0+0 Available: 2880x1548+0+0
        Physical size: 344x193 mm  Refresh: 50 Hz Power state: 0
        Physical DPI: 212.651,213.202 Logical DPI: 192,192
        DevicePixelRatio: 1 Pixel density: 2
        Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0
      

      dpiscaling = 200%, QT_AUTO_SCREEN_SCALE_FACTOR=1

      Screens: 1, High DPI scaling: active
      # 0 "\\.\DISPLAY1" Depth: 32 Primary: yes
        Geometry: 1440x810+0+0 (native: 2880x1620+0+0) Available: 1440x774+0+0
        Physical size: 344x193 mm  Refresh: 50 Hz Power state: 0
        Physical DPI: 106.326,106.601 Logical DPI: 96,96 (native: 192,192)
        High DPI scaling factor: 2 DevicePixelRatio: 2 Pixel density: 2
        Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0
      

      Attachments

        1. qt_auto_screen_scale_vs_text_scaling.png
          202 kB
          Alessandro Portale
        2. qtbug49194_qtdiag.txt
          4 kB
          Friedemann Kleint
        3. QTBUG-49195_compaison.gif
          679 kB
          Aleksandr Vladimirov

        Issue Links

          Activity

            People

              kleint Friedemann Kleint
              portale Alessandro Portale
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: