Add new developer setting to visualize overdraw

Change-Id: I16d6bb5a199233efebf5c3211dbe57dc9b6729c9
This commit is contained in:
Romain Guy
2012-09-21 19:23:20 -07:00
parent 377ab9c2e4
commit 098f493dba
3 changed files with 27 additions and 0 deletions

View File

@@ -3879,6 +3879,11 @@
<!-- UI debug setting: show hardware layers updates summary [CHAR LIMIT=50] -->
<string name="show_hw_layers_updates_summary">Flash hardware layers green when they update</string>
<!-- UI debug setting: show the amount of overdraw in apps using the GPU [CHAR LIMIT=25] -->
<string name="show_hw_overdraw">Show GPU overdraw</string>
<!-- UI debug setting: Show the amount of overdraw summary [CHAR LIMIT=50] -->
<string name="show_hw_overdraw_summary">From best to worst: blue, green, light red, red</string>
<!-- UI debug setting: disable use of overlays? [CHAR LIMIT=25] -->
<string name="disable_overlays">Disable HW overlays</string>
<!-- UI debug setting: disable use of overlays summary [CHAR LIMIT=50] -->

View File

@@ -110,6 +110,11 @@
android:title="@string/show_hw_layers_updates"
android:summary="@string/show_hw_layers_updates_summary"/>
<CheckBoxPreference
android:key="show_hw_overdraw"
android:title="@string/show_hw_overdraw"
android:summary="@string/show_hw_overdraw_summary"/>
<CheckBoxPreference
android:key="show_screen_updates"
android:title="@string/show_screen_updates"

View File

@@ -93,6 +93,7 @@ public class DevelopmentSettings extends PreferenceFragment
private static final String TRACK_FRAME_TIME_KEY = "track_frame_time";
private static final String SHOW_HW_SCREEN_UPDATES_KEY = "show_hw_screen_udpates";
private static final String SHOW_HW_LAYERS_UPDATES_KEY = "show_hw_layers_udpates";
private static final String SHOW_HW_OVERDRAW_KEY = "show_hw_overdraw";
private static final String DEBUG_LAYOUT_KEY = "debug_layout";
private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
@@ -143,6 +144,7 @@ public class DevelopmentSettings extends PreferenceFragment
private CheckBoxPreference mTrackFrameTime;
private CheckBoxPreference mShowHwScreenUpdates;
private CheckBoxPreference mShowHwLayersUpdates;
private CheckBoxPreference mShowHwOverdraw;
private CheckBoxPreference mDebugLayout;
private CheckBoxPreference mDisplayMangificationAutoUpdate;
private ListPreference mWindowAnimationScale;
@@ -199,6 +201,7 @@ public class DevelopmentSettings extends PreferenceFragment
mTrackFrameTime = findAndInitCheckboxPref(TRACK_FRAME_TIME_KEY);
mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
mShowHwOverdraw = findAndInitCheckboxPref(SHOW_HW_OVERDRAW_KEY);
mDebugLayout = findAndInitCheckboxPref(DEBUG_LAYOUT_KEY);
mWindowAnimationScale = (ListPreference) findPreference(WINDOW_ANIMATION_SCALE_KEY);
mAllPrefs.add(mWindowAnimationScale);
@@ -369,6 +372,7 @@ public class DevelopmentSettings extends PreferenceFragment
updateTrackFrameTimeOptions();
updateShowHwScreenUpdatesOptions();
updateShowHwLayersUpdatesOptions();
updateShowHwOverdrawOptions();
updateDebugLayoutOptions();
updateAnimationScaleOptions();
updateOverlayDisplayDevicesOptions();
@@ -619,6 +623,17 @@ public class DevelopmentSettings extends PreferenceFragment
pokeSystemProperties();
}
private void updateShowHwOverdrawOptions() {
updateCheckBox(mShowHwOverdraw, SystemProperties.getBoolean(
HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY, false));
}
private void writeShowHwOverdrawOptions() {
SystemProperties.set(HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY,
mShowHwOverdraw.isChecked() ? "true" : null);
pokeSystemProperties();
}
private void updateDebugLayoutOptions() {
updateCheckBox(mDebugLayout,
SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false));
@@ -926,6 +941,8 @@ public class DevelopmentSettings extends PreferenceFragment
writeShowHwScreenUpdatesOptions();
} else if (preference == mShowHwLayersUpdates) {
writeShowHwLayersUpdatesOptions();
} else if (preference == mShowHwOverdraw) {
writeShowHwOverdrawOptions();
} else if (preference == mDebugLayout) {
writeDebugLayoutOptions();
} else if (preference == mDisplayMangificationAutoUpdate) {