Issue metadata
Sign in to add a comment
|
FHD devices with 1.25 device scale factor does not retain display size after update |
||||||||||||||||||||||
Issue descriptionFHD devices with 1.25 device scale factor uses a different logic than rest of the devices to compute the effective device scale factor. On a FHD device, the device scale factor is only 1.25 if the configured ui scale is 0.8. While in the rest of the cases, the dsf is 1. When display zoom is enabled, the configured ui scale is forced to 1, which means the display never has a device scale factor of 1.25.
,
May 24 2018
@oshima For a FHD device, the ui-scale is set to 1 for the "native" resolution. This means when we first boot after switching the flag from ui-scale to display zoom, there is no way to differentiate whether the ui-scale is set to 1 because this is the first boot after switching the flag or this is a non-first boot. This means, we cannot 1:1 convert display size for a FHD display with 1.25 dsf if before the switch, the display mode was set to the native mode. One way I can think of is to store what the state of the flag was along with the display prefs. Do you see anyother way around it?
,
May 24 2018
Can't we remove the ui_scale property when migrated to zoom?
,
May 31 2018
The current list of scales for a FHD 1.25 DSF device is listed below:
----------------------------------------------
| Display modes when UI scale is active |
----------------------------------------------
| UI scale | 0.5 | 0.625 | 0.8 | 1.0 | 1.25 |
----------------------------------------------
| DSF | 1.0 | 1.0 | 1.25| 1.0 | 1.0 |
----------------------------------------------
| Net Scale | 2.0 | 1.6 | 1.25| 1.0 | 0.8 |
----------------------------------------------
When we activate the display zoom mode, each of the above net scale must
accurately translate to an exact same net scale so that users don't see
any change in display size after an update. We also know that the DSF will
always be constant to 1.25 DSF when display zoom mode is enabled.
--------------------------------------------------------
| Desired Net Scale | 2.00 | 1.60 | 1.25 | 1.00 | 0.80 |
--------------------------------------------------------
| DSF | 1.25 | 1.25 | 1.25 | 1.25 | 1.25 |
--------------------------------------------------------
--------------------------------------------------------
| Computed Zoom | 1.60 | 1.28 | 1.00 | 0.80 | 0.64 |
--------------------------------------------------------
The computed zoom represents what zoom value we need to have for the
corresponding ui-scale. That is, if the ui scale before the update
was 0.625, then the zoom level after the update should be 1.28 for the
display to have the same net scale.
Currently the system maps the ui scale directly to the zoom scale by
simply taking the inverse of the ui scale. The results we get for a FHD
1.25 DSF device for this process is as follows
--------------------------------------------------------
| Ui scale mapping | 2.00 | 1.60 | 1.25 | 1.00 | 0.80 |
--------------------------------------------------------
From the table, we can clearly see that the zoom level we get from a
direct ui scale mapping is offset from the computed zoom value by a
factor of 1.25. That is -
Computed Zoom * 1.25 = Ui Scale Mapped Zoom
This means, we need to offset all zoom values by an amount of 1.25
to get the correct net scale after the update.
,
Jun 4 2018
This bug is blocking 68 beta, we are hoping to promote 68 to beta next week, any chance this will be resolved this week?
,
Jun 4 2018
Yes, the change is already under review. Should be landing this week.
,
Jun 11 2018
We are trying to go to beta this week, we need this fixed in the next 24 hours.
,
Jun 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/09078534b34df2e9f330fd2c9417f9556c37d9aa commit 09078534b34df2e9f330fd2c9417f9556c37d9aa Author: Malay Keshav <malaykeshav@chromium.org> Date: Mon Jun 11 20:16:44 2018 Correctly port ui scale to zoom scale for FHD devices This patch performs multiple tasks to successfully port the ui scale to the correct zoom scale for a FHD device with device scale factor of 1.25. Firstly it modifies what we store for ui scale in display prefs. We now store a negative value to indicate that Display zoom was active at the time of storing the display pref. This allows us to detect at boot whether we need to port the ui scale to a zoom value or not. Secondly, it adds a new field to ManagedDisplayInfo that stores whether the zoom value stored is a port of the ui-scale. And finally, it adds a correction to the zoom value for 1.25 DSF FHD devices. Bug: 845987 Change-Id: Ia3d83373ad7060b1270b2568321558fd3dc84c28 Component: ManagedDisplayInfo, ui scale, zoom scale, display prefs Reviewed-on: https://chromium-review.googlesource.com/1070780 Commit-Queue: Malay Keshav <malaykeshav@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#566124} [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ash/display/cursor_window_controller_unittest.cc [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ash/display/display_manager_unittest.cc [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ash/display/display_prefs.cc [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ash/display/display_prefs_unittest.cc [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ash/system/power/power_button_controller_unittest.cc [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ash/wm/native_cursor_manager_ash_unittest.cc [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/testing/buildbot/filters/mash.ash_unittests.filter [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ui/display/manager/display_manager.cc [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ui/display/manager/display_manager.h [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ui/display/manager/managed_display_info.cc [modify] https://crrev.com/09078534b34df2e9f330fd2c9417f9556c37d9aa/ui/display/manager/managed_display_info.h
,
Jun 11 2018
,
Jun 12 2018
ping
,
Jun 12 2018
This bug requires manual review: M68 has already been promoted to the beta branch, so this requires manual review Please contact the milestone owner if you have questions. Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 13 2018
,
Jun 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/58932d5161295c7476876b534154e8ebbe36c11b commit 58932d5161295c7476876b534154e8ebbe36c11b Author: Malay Keshav <malaykeshav@chromium.org> Date: Wed Jun 13 22:02:26 2018 (merge) Correctly port ui scale to zoom scale for FHD devices This patch performs multiple tasks to successfully port the ui scale to the correct zoom scale for a FHD device with device scale factor of 1.25. Firstly it modifies what we store for ui scale in display prefs. We now store a negative value to indicate that Display zoom was active at the time of storing the display pref. This allows us to detect at boot whether we need to port the ui scale to a zoom value or not. Secondly, it adds a new field to ManagedDisplayInfo that stores whether the zoom value stored is a port of the ui-scale. And finally, it adds a correction to the zoom value for 1.25 DSF FHD devices. Bug: 845987 Change-Id: Ia3d83373ad7060b1270b2568321558fd3dc84c28 Component: ManagedDisplayInfo, ui scale, zoom scale, display prefs Reviewed-on: https://chromium-review.googlesource.com/1070780 Commit-Queue: Malay Keshav <malaykeshav@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#566124}(cherry picked from commit 09078534b34df2e9f330fd2c9417f9556c37d9aa) Reviewed-on: https://chromium-review.googlesource.com/1099655 Reviewed-by: Malay Keshav <malaykeshav@chromium.org> Cr-Commit-Position: refs/branch-heads/3440@{#351} Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733} [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ash/display/cursor_window_controller_unittest.cc [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ash/display/display_manager_unittest.cc [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ash/display/display_prefs.cc [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ash/display/display_prefs_unittest.cc [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ash/system/power/power_button_controller_unittest.cc [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ash/wm/native_cursor_manager_ash_unittest.cc [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/testing/buildbot/filters/mash.ash_unittests.filter [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ui/display/manager/display_manager.cc [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ui/display/manager/display_manager.h [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ui/display/manager/managed_display_info.cc [modify] https://crrev.com/58932d5161295c7476876b534154e8ebbe36c11b/ui/display/manager/managed_display_info.h |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by malaykeshav@chromium.org
, May 24 2018