Add new GPU overdraw setting
Change-Id: I45404b37df382e51eea42de92535f49f870c98b2
This commit is contained in:
@@ -830,6 +830,20 @@
|
|||||||
<item>true</item>
|
<item>true</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Titles for debug overdraw preference. [CHAR LIMIT=35] -->
|
||||||
|
<string-array name="debug_hw_overdraw_entries">
|
||||||
|
<item>Off</item>
|
||||||
|
<item>Show overdraw areas</item>
|
||||||
|
<item>Show overdraw counter</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Values for debug overdraw preference. -->
|
||||||
|
<string-array name="debug_hw_overdraw_values" translatable="false" >
|
||||||
|
<item>false</item>
|
||||||
|
<item>show</item>
|
||||||
|
<item>count</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
<!-- Titles for app process limit preference. [CHAR LIMIT=35] -->
|
<!-- Titles for app process limit preference. [CHAR LIMIT=35] -->
|
||||||
<string-array name="app_process_limit_entries">
|
<string-array name="app_process_limit_entries">
|
||||||
<item>Standard limit</item>
|
<item>Standard limit</item>
|
||||||
|
@@ -3974,9 +3974,7 @@
|
|||||||
<string name="show_hw_layers_updates_summary">Flash hardware layers green when they update</string>
|
<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] -->
|
<!-- 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>
|
<string name="debug_hw_overdraw">Debug 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] -->
|
<!-- UI debug setting: disable use of overlays? [CHAR LIMIT=25] -->
|
||||||
<string name="disable_overlays">Disable HW overlays</string>
|
<string name="disable_overlays">Disable HW overlays</string>
|
||||||
|
@@ -166,10 +166,12 @@
|
|||||||
android:title="@string/show_hw_layers_updates"
|
android:title="@string/show_hw_layers_updates"
|
||||||
android:summary="@string/show_hw_layers_updates_summary"/>
|
android:summary="@string/show_hw_layers_updates_summary"/>
|
||||||
|
|
||||||
<CheckBoxPreference
|
<ListPreference
|
||||||
android:key="show_hw_overdraw"
|
android:key="debug_hw_overdraw"
|
||||||
android:title="@string/show_hw_overdraw"
|
android:title="@string/debug_hw_overdraw"
|
||||||
android:summary="@string/show_hw_overdraw_summary"/>
|
android:persistent="false"
|
||||||
|
android:entries="@array/debug_hw_overdraw_entries"
|
||||||
|
android:entryValues="@array/debug_hw_overdraw_values" />
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:key="show_non_rect_clip"
|
android:key="show_non_rect_clip"
|
||||||
|
@@ -48,7 +48,6 @@ import android.os.ServiceManager;
|
|||||||
import android.os.StrictMode;
|
import android.os.StrictMode;
|
||||||
import android.os.SystemProperties;
|
import android.os.SystemProperties;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
|
||||||
import android.preference.CheckBoxPreference;
|
import android.preference.CheckBoxPreference;
|
||||||
import android.preference.ListPreference;
|
import android.preference.ListPreference;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
@@ -120,7 +119,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private static final String SHOW_NON_RECTANGULAR_CLIP_KEY = "show_non_rect_clip";
|
private static final String SHOW_NON_RECTANGULAR_CLIP_KEY = "show_non_rect_clip";
|
||||||
private static final String SHOW_HW_SCREEN_UPDATES_KEY = "show_hw_screen_udpates";
|
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_LAYERS_UPDATES_KEY = "show_hw_layers_udpates";
|
||||||
private static final String SHOW_HW_OVERDRAW_KEY = "show_hw_overdraw";
|
private static final String DEBUG_HW_OVERDRAW_KEY = "debug_hw_overdraw";
|
||||||
private static final String DEBUG_LAYOUT_KEY = "debug_layout";
|
private static final String DEBUG_LAYOUT_KEY = "debug_layout";
|
||||||
private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
|
private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
|
||||||
private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
|
private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
|
||||||
@@ -181,8 +180,8 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
private CheckBoxPreference mForceMsaa;
|
private CheckBoxPreference mForceMsaa;
|
||||||
private CheckBoxPreference mShowHwScreenUpdates;
|
private CheckBoxPreference mShowHwScreenUpdates;
|
||||||
private CheckBoxPreference mShowHwLayersUpdates;
|
private CheckBoxPreference mShowHwLayersUpdates;
|
||||||
private CheckBoxPreference mShowHwOverdraw;
|
|
||||||
private CheckBoxPreference mDebugLayout;
|
private CheckBoxPreference mDebugLayout;
|
||||||
|
private ListPreference mDebugHwOverdraw;
|
||||||
private ListPreference mTrackFrameTime;
|
private ListPreference mTrackFrameTime;
|
||||||
private ListPreference mShowNonRectClip;
|
private ListPreference mShowNonRectClip;
|
||||||
private ListPreference mWindowAnimationScale;
|
private ListPreference mWindowAnimationScale;
|
||||||
@@ -282,8 +281,8 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
mShowNonRectClip = addListPreference(SHOW_NON_RECTANGULAR_CLIP_KEY);
|
mShowNonRectClip = addListPreference(SHOW_NON_RECTANGULAR_CLIP_KEY);
|
||||||
mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
|
mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
|
||||||
mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
|
mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
|
||||||
mShowHwOverdraw = findAndInitCheckboxPref(SHOW_HW_OVERDRAW_KEY);
|
|
||||||
mDebugLayout = findAndInitCheckboxPref(DEBUG_LAYOUT_KEY);
|
mDebugLayout = findAndInitCheckboxPref(DEBUG_LAYOUT_KEY);
|
||||||
|
mDebugHwOverdraw = addListPreference(DEBUG_HW_OVERDRAW_KEY);
|
||||||
mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY);
|
mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY);
|
||||||
mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY);
|
mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY);
|
||||||
mAnimatorDurationScale = addListPreference(ANIMATOR_DURATION_SCALE_KEY);
|
mAnimatorDurationScale = addListPreference(ANIMATOR_DURATION_SCALE_KEY);
|
||||||
@@ -479,7 +478,7 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
updateShowNonRectClipOptions();
|
updateShowNonRectClipOptions();
|
||||||
updateShowHwScreenUpdatesOptions();
|
updateShowHwScreenUpdatesOptions();
|
||||||
updateShowHwLayersUpdatesOptions();
|
updateShowHwLayersUpdatesOptions();
|
||||||
updateShowHwOverdrawOptions();
|
updateDebugHwOverdrawOptions();
|
||||||
updateDebugLayoutOptions();
|
updateDebugLayoutOptions();
|
||||||
updateAnimationScaleOptions();
|
updateAnimationScaleOptions();
|
||||||
updateOverlayDisplayDevicesOptions();
|
updateOverlayDisplayDevicesOptions();
|
||||||
@@ -835,15 +834,29 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
pokeSystemProperties();
|
pokeSystemProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateShowHwOverdrawOptions() {
|
private void updateDebugHwOverdrawOptions() {
|
||||||
updateCheckBox(mShowHwOverdraw, SystemProperties.getBoolean(
|
String value = SystemProperties.get(HardwareRenderer.DEBUG_OVERDRAW_PROPERTY);
|
||||||
HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY, false));
|
if (value == null) {
|
||||||
|
value = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
CharSequence[] values = mDebugHwOverdraw.getEntryValues();
|
||||||
|
for (int i = 0; i < values.length; i++) {
|
||||||
|
if (value.contentEquals(values[i])) {
|
||||||
|
mDebugHwOverdraw.setValueIndex(i);
|
||||||
|
mDebugHwOverdraw.setSummary(mDebugHwOverdraw.getEntries()[i]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mDebugHwOverdraw.setValueIndex(0);
|
||||||
|
mDebugHwOverdraw.setSummary(mDebugHwOverdraw.getEntries()[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void writeShowHwOverdrawOptions() {
|
private void writeDebugHwOverdrawOptions(Object newValue) {
|
||||||
SystemProperties.set(HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY,
|
SystemProperties.set(HardwareRenderer.DEBUG_OVERDRAW_PROPERTY,
|
||||||
mShowHwOverdraw.isChecked() ? "true" : null);
|
newValue == null ? "" : newValue.toString());
|
||||||
pokeSystemProperties();
|
pokeSystemProperties();
|
||||||
|
updateDebugHwOverdrawOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateDebugLayoutOptions() {
|
private void updateDebugLayoutOptions() {
|
||||||
@@ -1158,8 +1171,6 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
writeShowHwScreenUpdatesOptions();
|
writeShowHwScreenUpdatesOptions();
|
||||||
} else if (preference == mShowHwLayersUpdates) {
|
} else if (preference == mShowHwLayersUpdates) {
|
||||||
writeShowHwLayersUpdatesOptions();
|
writeShowHwLayersUpdatesOptions();
|
||||||
} else if (preference == mShowHwOverdraw) {
|
|
||||||
writeShowHwOverdrawOptions();
|
|
||||||
} else if (preference == mDebugLayout) {
|
} else if (preference == mDebugLayout) {
|
||||||
writeDebugLayoutOptions();
|
writeDebugLayoutOptions();
|
||||||
}
|
}
|
||||||
@@ -1192,6 +1203,9 @@ public class DevelopmentSettings extends PreferenceFragment
|
|||||||
} else if (preference == mTrackFrameTime) {
|
} else if (preference == mTrackFrameTime) {
|
||||||
writeTrackFrameTimeOptions(newValue);
|
writeTrackFrameTimeOptions(newValue);
|
||||||
return true;
|
return true;
|
||||||
|
} else if (preference == mDebugHwOverdraw) {
|
||||||
|
writeDebugHwOverdrawOptions(newValue);
|
||||||
|
return true;
|
||||||
} else if (preference == mShowNonRectClip) {
|
} else if (preference == mShowNonRectClip) {
|
||||||
writeShowNonRectClipOptions(newValue);
|
writeShowNonRectClipOptions(newValue);
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user