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

WinRT: Scale factor is not taken into consideration when creating the framebuffer

    XMLWordPrintable

Details

    • WinRT
    • eea02ff10da0ff6bba665df560c5404477b9f550 qtbase#stable

    Description

      This mainly affects Windows Phone, which uses scaled windows by default (this can also affect Windows 8, when scaling is enabled). The reported screen size is in DIPs (Device-independent pixels) so that a control on one screen will be the same physical size as a control on another. The result is that the reported resolution tends to be much smaller than the physical resolution of the device (on high-DPI devices).

      The current problem is that a user has no way of creating a higher-resolution backing store or default framebuffer, so things like text will always look a bit fuzzy on high-resolution devices due to being scaled up. In some cases, developers may indeed wish to have the default, lower-resolution window (whether for performance reasons or physical size consistency), while in other cases the developer may expect the full screen resolution.

      One (tested working) solution is report all resolutions in terms of DIP * scaleFactor. Then, the windows and framebuffers will be created in physical pixel size. The logicalDotsPerInch() methods can be adjusted so that it reports the correct value, of course.

      Attachments

        Issue Links

          Activity

            People

              andrew.knight Andrew Knight
              andrew.knight Andrew Knight
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: