aboutsummaryrefslogtreecommitdiff
path: root/en/devices
diff options
context:
space:
mode:
authorBilly Lamberta <blamb@google.com>2017-08-14 13:27:29 -0700
committerBilly Lamberta <blamb@google.com>2017-08-14 13:28:00 -0700
commit3426567f2838caa1bbbc15dbd1e36a46d137abb6 (patch)
treede89fe97b3bf9eae6bc0ef892db22d14fde6f63d /en/devices
parent57d0f681ef46b0861ff49cbc73236a090e700b38 (diff)
parent604ac97b6c67b5a65006d402f1898ebe8558160b (diff)
downloadsource.android.com-3426567f2838caa1bbbc15dbd1e36a46d137abb6.tar.gz
Docs: Resolve merge conflicts of 604ac97b to oc-mr1-dev-plus-aosp
Test: go/sac-stage/devices/graphics/renderer.html Change-Id: Id3eab162491869cfaaa1f279217a7ac1ccbf36a5
Diffstat (limited to 'en/devices')
-rw-r--r--en/devices/_toc-interfaces.yaml6
-rw-r--r--en/devices/_toc-tech.yaml26
-rw-r--r--en/devices/architecture/kernel/config.html (renamed from en/devices/tech/config/kernel.html)0
-rw-r--r--en/devices/architecture/kernel/network_tests.html (renamed from en/devices/tech/config/kernel_network_tests.html)0
-rw-r--r--en/devices/graphics/renderer.html212
-rw-r--r--en/devices/tech/connect/connect_tests.html (renamed from en/devices/tech/config/connect_tests.html)0
-rw-r--r--en/devices/tech/ota/ab_updates.html20
-rw-r--r--en/devices/tech/perf/index.html30
-rw-r--r--en/devices/tech/perf/low-ram.html (renamed from en/devices/tech/config/low-ram.html)0
-rw-r--r--en/devices/tech/settings/index.html30
10 files changed, 304 insertions, 20 deletions
diff --git a/en/devices/_toc-interfaces.yaml b/en/devices/_toc-interfaces.yaml
index 388219bc..fc1d43a6 100644
--- a/en/devices/_toc-interfaces.yaml
+++ b/en/devices/_toc-interfaces.yaml
@@ -12,9 +12,9 @@ toc:
- title: Kernel
section:
- title: Configuration
- path: /devices/tech/config/kernel
+ path: /devices/architecture/kernel/config
- title: Network Tests
- path: /devices/tech/config/kernel_network_tests
+ path: /devices/architecture/kernel/network_tests
- title: Audio
section:
- title: Overview
@@ -119,6 +119,8 @@ toc:
path: /devices/graphics/arch-sh
- title: OpenGL ES
path: /devices/graphics/arch-egl-opengl
+ - title: OpenGLRenderer Configuration
+ path: /devices/graphics/renderer
- title: Vulkan
path: /devices/graphics/arch-vulkan
- title: SurfaceView
diff --git a/en/devices/_toc-tech.yaml b/en/devices/_toc-tech.yaml
index f2e27d7a..da603b20 100644
--- a/en/devices/_toc-tech.yaml
+++ b/en/devices/_toc-tech.yaml
@@ -25,16 +25,10 @@ toc:
path: /devices/tech/config/
- title: Carrier Customization
path: /devices/tech/config/carrier
- - title: Connectivity Tests
- path: /devices/tech/config/connect_tests
- title: File DAC Configuration
path: /devices/tech/config/filesystem
- - title: Low RAM
- path: /devices/tech/config/low-ram
- title: Namespaces for Libraries
path: /devices/tech/config/namespaces_libraries
- - title: OpenGLRenderer
- path: /devices/tech/config/renderer
- title: Runtime Permissions
path: /devices/tech/config/runtime_perms
- title: UICC
@@ -55,6 +49,8 @@ toc:
path: /devices/tech/connect/emergency-affordance
- title: Host Card Emulation of FeliCa
path: /devices/tech/connect/felica
+ - title: Network Connectivity Tests
+ path: /devices/tech/connect/connect_tests
- title: Radio Interface Layer (RIL)
path: /devices/tech/connect/ril
- title: Data Usage
@@ -95,16 +91,10 @@ toc:
path: /devices/tech/debug/jank_jitter
- title: AddressSanitizer
path: /devices/tech/debug/asan
- - title: Dumpsys
- path: /devices/tech/debug/dumpsys
- title: Using GDB
path: /devices/tech/debug/gdb
- title: Native Memory Use
path: /devices/tech/debug/native-memory
- - title: Network Use
- path: /devices/tech/debug/netstats
- - title: RAM Use
- path: /devices/tech/debug/procstats
- title: Strace
path: /devices/tech/debug/strace
- title: Valgrind
@@ -129,7 +119,7 @@ toc:
path: /devices/tech/admin/testing-provision
- title: Testing Device Administration
path: /devices/tech/admin/testing-setup
-- title: Display Settings
+- title: Display
section:
- title: Overview
path: /devices/tech/display/
@@ -167,6 +157,12 @@ toc:
path: /devices/tech/ota/sign_builds
- title: A/B System Updates
path: /devices/tech/ota/ab_updates
+- title: Performance
+ section:
+ - title: Overview
+ path: /devices/tech/perf/
+ - title: Low RAM
+ path: /devices/tech/perf/low-ram
- title: Power
section:
- title: Overview
@@ -183,6 +179,10 @@ toc:
path: /devices/tech/power/values
- title: Battery Use
path: /devices/tech/power/batterystats
+- title: Settings Menu
+ section:
+ - title: Overview
+ path: /devices/tech/settings/
- title: Testing Infrastructure
section:
- title: Overview
diff --git a/en/devices/tech/config/kernel.html b/en/devices/architecture/kernel/config.html
index 14d2ee17..14d2ee17 100644
--- a/en/devices/tech/config/kernel.html
+++ b/en/devices/architecture/kernel/config.html
diff --git a/en/devices/tech/config/kernel_network_tests.html b/en/devices/architecture/kernel/network_tests.html
index bc437ad2..bc437ad2 100644
--- a/en/devices/tech/config/kernel_network_tests.html
+++ b/en/devices/architecture/kernel/network_tests.html
diff --git a/en/devices/graphics/renderer.html b/en/devices/graphics/renderer.html
new file mode 100644
index 00000000..7ee28f10
--- /dev/null
+++ b/en/devices/graphics/renderer.html
@@ -0,0 +1,212 @@
+<html devsite>
+ <head>
+ <title>OpenGLRenderer Configuration</title>
+ <meta name="project_path" value="/_project.yaml" />
+ <meta name="book_path" value="/_book.yaml" />
+ </head>
+ <body>
+ <!--
+ Copyright 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+
+<p>This document describes performance tuning that you can do to get the most out of your
+ hardware.</p>
+
+<h2>OpenGLRenderer (libhwui) Properties</h2>
+<p>This document lists all the properties that you can use to control
+Android’s 2D hardware accelerated rendering pipeline. Set these properties
+in the <code>device.mk</code> as <code>PRODUCT_PROPERTY_OVERRIDES</code>.
+</p>
+
+<table>
+<tr>
+ <th>Property</th>
+ <th>Type</th>
+ <th>Default Value</th>
+ <th>Description</th>
+</tr>
+
+<tr>
+ <td><code>ro.hwui.disable_scissor_opt</code></td>
+ <td><code>boolean</code></td>
+ <td><code>false</code></td>
+ <td><p>Used to enable or disable scissor optimization. The accepted values are true and false. When scissor optimization is enabled, OpenGLRenderer attempts to minimize the use of scissoring by selectively enabling and disabling the GL scissor test.</p>
+ <p>When the optimization is disabled, OpenGLRenderer keeps the GL scissor test enabled and changes the scissor rect as needed. Some GPUs (for instance, the SGX 540) perform better when changing the scissor rect more often than enabling or disabling the scissor test often.</p>
+ </td>
+</tr>
+
+<tr>
+
+ <td><code>ro.hwui.texture_cache_size</code></td>
+ <td><code>float</code></td>
+ <td><code>24</code></td>
+ <td>Defines the size, in megabytes, of the per process texture cache. We
+ recommend using a cache large enough to hold several screens worth of 32-bit textures (for instance, on a 1280x800 display, a full screen buffer uses about 4 MB so the cache should be at least 20 MB.)</td>
+</tr>
+
+<tr>
+ <td><code>ro.hwui.layer_cache_size</code></td>
+ <td><code>float</code></td>
+ <td><code>16</code></td>
+ <td>Defines the size, in megabytes, of the per process layers cache. We recommend
+ using a cache large enough to hold 4 times the screen in 32 bits. For instance,
+ on a 1280x800 display, a full screen buffer uses about 4 MB, so the cache should be at least 16 MB.</td>
+</tr>
+<tr>
+ <td><code>ro.hwui.gradient_cache_size</code></td>
+ <td><code>0.5</code></td>
+ <td><code>float</code></td>
+ <td>Defines the size, in megabytes, of the per process gradients cache. A single
+ gradient generally occupies between 1 and 4 KB of memory. It is recommended to use a
+ cache large enough to hold at least twelve gradients.</td>
+</tr>
+
+<tr>
+ <td><code>ro.hwui.patch_cache_size</code></td>
+ <td><code>integer</code></td>
+ <td><code>128</code></td>
+ <td>Defines the size, in kilobytes, of the 9-patches cache, per process. This
+cache holds only vertex data and can therefore be kept small. Each vertex is
+made of 4 floats, or 16 bytes.</td>
+</tr>
+
+<tr>
+ <td><code>ro.hwui.path_cache_size</code></td>
+ <td><code>float</code></td>
+ <td><code>4</code></td>
+ <td>Defines the size, in megabytes, of the per process paths cache. We recommended using a
+ cache large enough to hold at least one screen worth of 32-bit textures. For instance,
+ on a 1280x800 display, a full screen buffer uses about 4 MB, so the cache should be at least 4 MB.</td>
+</tr>
+
+<tr>
+ <td><code>ro.hwui.shape_cache_size</code></td>
+ <td><code>float</code></td>
+ <td><code>1</code></td>
+ <td>Defines the size, in megabytes, of the per process shapes caches. This value is used by
+ several caches such as circles and rounded rectangles. We recommend using a cache
+ large enough to hold at least one 8-bit screen. For instance, on a 1280x800 display,
+ a full screen buffer uses about 1 MB, so the cache should be at least 1 MB.</td>
+</tr>
+<tr>
+ <td><code>ro.hwui.drop_shadow_cache_size</code></td>
+ <td><code>float</code></td>
+ <td><code>2</code></td>
+ <td>Defines the size, in megabytes, of the per process text drop shadows cache. We recommend
+ using a cache large enough to hold two screens worth of 8-bit textures. For instance, on a 1280x800 display, a full screen buffer uses about 1 MB, so the cache should be at least 2 MB.</td>
+</tr>
+<tr>
+ <td><code>ro.hwui.r_buffer_cache_size</code></td>
+ <td><code>float</code></td>
+ <td><code>2</code></td>
+ <td>Defines the size, in megabytes, of the render buffers cache per process. It is recommended to use a cache large enough to hold twice the screen in 8 bits. For instance, on a 1280x800 display, a full screen buffer uses about 1 MB so the cache should be at least 2 MB. The cache can be smaller if the device supports 4 bits or 1 bit stencil buffers.</td>
+</tr>
+<tr>
+ <td><code>ro.hwui.texture_cache_flush_rate</code></td>
+ <td><code>float</code></td>
+ <td><code>0.6</code></td>
+ <td>Defines the percentage of the texture cache to keep after a memory flush. Memory flushes are triggered when the system needs to reclaim memory across all applications. We recommend releasing about 50% of the cache in such situations.</td>
+</tr>
+<tr>
+ <td><code>ro.hwui.text_small_cache_width</code></td>
+ <td><code>integer</code></td>
+ <td><code>1024</code></td>
+ <td>Defines the width in pixels of the default font cache. The upper bound depends on how fast the GPU can upload textures.
+ We recommend using at least 1024 pixels but at most 2048 pixels. You should also use a power of two value.</td>
+</tr>
+<tr>
+ <td><code>ro.hwui.text_small_cache_height</code></td>
+ <td><code>integer</code></td>
+ <td><code>256</code></td>
+ <td>Defines the height in pixels of the default font cache. The upper bound depends on how fast the GPU can upload textures.
+ We recommend using at least 256 pixels but at most 1024 pixels. </td>
+</tr>
+<tr>
+ <td><code>ro.hwui.text_large_cache_width</code></td>
+ <td><code>integer</code></td>
+ <td><code>2048</code></td>
+ <td>Defines the width in pixels of the large font cache. This cache is used for glyphs too large to fit in the default font cache. The upper bound depends on how fast the GPU can upload textures. We recommended using at least 2048 pixels but at most 4096 pixels. You should also use a power of two value.</td>
+</tr>
+
+<tr>
+ <td><code>ro.hwui.text_large_cache_height</code></td>
+ <td><code>integer</code></td>
+ <td><code>512</code></td>
+ <td>Defines the height in pixels of the large font cache. The large font cache is used for glyphs too large to fit in the default font cache. The upper bound depends on how fast the GPU can upload textures.
+ We recommend using at least 512 pixels but at most 2048 pixels. You should also use a power of two value.</td>
+</tr>
+
+<tr>
+ <td><code>ro.zygote.disable_gl_preload</code></td>
+ <td><code>boolean</code></td>
+ <td><code>false</code></td>
+ <td>Used to enable/disable preloading of EGL/GL drivers in Zygote at boot time. When this property is
+set to false, Zygote will preload the GL drivers by invoking eglGetDisplay(EGL_DEFAULT_DISPLAY).
+The goal is to load the dynamic libraries code in Zygote to share it with all the other processes. If a driver
+does not support being shared, set this property to true.</td>
+</tr>
+
+<tr>
+ <td><code>hwui.text_gamma_correction</code></td>
+ <td><code>string</code></td>
+ <td><code>lookup</code></td>
+ <td>Selects the text gamma correction technique. There are four possible choices:
+ <ul>
+ <li><code>lookup3</code>: A correction based on lookup tables. Gamma correction is different for black
+ and white text (see thresholds below).</li>
+
+ <li><code>lookup</code>: A correction based on a single lookup table.</li>
+
+ <li><code>shader3</code>: A correction applied by a GLSL shader. Gamma correction is different
+ for black and white text (see thresholds below).</li>
+
+ <li><code>shader</code>: A correction applied by a GLSL shader.</li>
+ </ul>
+ Lookup gamma corrections function best on GPUs with limited shader math. Shader gamma corrections are best to save memory. We recommend using the default <code>lookup</code> technique, which offers a good compromise in terms of quality, speed, and memory usage.
+</td>
+</tr>
+
+<tr>
+ <td><code>hwui.text_gamma</code></td>
+ <td><code>float</code></td>
+ <td><code>1.4</code></td>
+ <td>Defines the gamma value used for text gamma correction.
+ This value can be adjusted based on the display that is used by the device.</td>
+</tr>
+<tr>
+ <td><code>hwui.text_gamma.black_threshold</code></td>
+ <td><code>integer</code></td>
+ <td><code>64</code></td>
+ <td>Defines the luminance threshold below which black gamma correction is applied.
+ The value must be defined in the range 0..255.</td>
+</tr>
+<tr>
+ <td><code>hwui.text_gamma.white_threshold</code></td>
+ <td><code>integer</code></td>
+ <td><code>192</code></td>
+ <td>Defines the luminance threshold above which white gamma correction is applied.
+ The value must be defined in the range 0..255.</td>
+</tr>
+<tr>
+ <td><code>hwui.use_gpu_pixel_buffers</code></td>
+ <td><code>boolean</code></td>
+ <td><code>true</code></td>
+ <td>Used to enable or disable the use of PBOs on OpenGL ES 3.0 hardware. PBOs are used by the renderer to perform asynchronous texture uploads, especially for the font cache. This property should always remain enabled but can be disabled during bringup or development if the use of PBOs causes corruptions or terrible performance. This is why the property is not read-only.</td>
+</tr>
+</table>
+
+ </body>
+</html>
diff --git a/en/devices/tech/config/connect_tests.html b/en/devices/tech/connect/connect_tests.html
index a7c06a83..a7c06a83 100644
--- a/en/devices/tech/config/connect_tests.html
+++ b/en/devices/tech/connect/connect_tests.html
diff --git a/en/devices/tech/ota/ab_updates.html b/en/devices/tech/ota/ab_updates.html
index fee00bc2..871d8f63 100644
--- a/en/devices/tech/ota/ab_updates.html
+++ b/en/devices/tech/ota/ab_updates.html
@@ -31,10 +31,20 @@
repair and warranty centers. This approach is already explored successfully by
other commercial-grade operating systems, such as <a
href="https://www.chromium.org/chromium-os">ChromeOS</a>, and Android 8.0
- comes with the necessary platform changes to conduct streaming updates. Android
- 7.0 and later support streaming updates with the correct version of <a
- href="https://www.android.com/gms/">Google Mobile Services (GMS)</a>
- installed.</p>
+ comes with the necessary platform changes to conduct streaming updates.</p>
+
+<p class="note"><strong>Note:</strong> Android 7.1, in which A/B updates were
+introduced, requires the following patches to be cherrypicked before streaming
+updates can be enabled. This is true whether using <a
+href="https://www.android.com/gms/">Google Mobile Services (GMS)</a> or any
+other update client.</p>
+
+<ul>
+ <li><a href="https://android-review.googlesource.com/333624">Allow to cancel a proxy resolution request</a></li>
+ <li><a href="https://android-review.googlesource.com/333625">Fix terminating a transfer while resolving proxies</a></li>
+ <li><a href="https://android-review.googlesource.com/333626">Add unittest for TerminateTrasnfer between ranges</a></li>
+ <li><a href="https://android-review.googlesource.com/333627">Cleanup the RetryTimeoutCallback()</a></li>
+</ul>
<p>
Users don't always have enough space on <code>/data</code> to download the
@@ -620,7 +630,7 @@ depended on what updates you wanted to apply. The worst case would be a cache
partition as large as the system image. With A/B updates there's no need to
stash blocks (because you're always writing to a partition that isn't currently
used) and with streaming A/B there's no need to download the whole OTA package
-before applying it (see "How do streaming A/B updates work?").</p>
+before applying it.</p>
<h3 id="fstab">Fstab</h3>
diff --git a/en/devices/tech/perf/index.html b/en/devices/tech/perf/index.html
new file mode 100644
index 00000000..6af0626c
--- /dev/null
+++ b/en/devices/tech/perf/index.html
@@ -0,0 +1,30 @@
+<html devsite>
+ <head>
+ <title>Performance</title>
+ <meta name="project_path" value="/_project.yaml" />
+ <meta name="book_path" value="/_book.yaml" />
+ </head>
+ <body>
+ <!--
+ Copyright 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+
+
+<p>Follow the instructions in this section to ensure your Android devices
+minimize resource use and optimize performance.</p>
+
+ </body>
+</html>
diff --git a/en/devices/tech/config/low-ram.html b/en/devices/tech/perf/low-ram.html
index d1ca5b5e..d1ca5b5e 100644
--- a/en/devices/tech/config/low-ram.html
+++ b/en/devices/tech/perf/low-ram.html
diff --git a/en/devices/tech/settings/index.html b/en/devices/tech/settings/index.html
new file mode 100644
index 00000000..0b3066d8
--- /dev/null
+++ b/en/devices/tech/settings/index.html
@@ -0,0 +1,30 @@
+<html devsite>
+ <head>
+ <title>Settings Menu</title>
+ <meta name="project_path" value="/_project.yaml" />
+ <meta name="book_path" value="/_book.yaml" />
+ </head>
+ <body>
+ <!--
+ Copyright 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+
+
+<p>The pages in this section explain how to employ the latest features
+available in the Android Settings menu.</p>
+
+ </body>
+</html>