diff --git a/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image01.png b/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image01.png new file mode 100644 index 0000000000000..d4a1ea5999a42 Binary files /dev/null and b/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image01.png differ diff --git a/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image02.png b/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image02.png new file mode 100644 index 0000000000000..f8f0d8c2fad64 Binary files /dev/null and b/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image02.png differ diff --git a/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image03.png b/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image03.png new file mode 100644 index 0000000000000..fc59b54714e01 Binary files /dev/null and b/docs/html/images/tools/performance/allocation-tracker/gettingstarted_image03.png differ diff --git a/docs/html/images/tools/performance/allocation_tracker.png b/docs/html/images/tools/performance/allocation_tracker.png new file mode 100755 index 0000000000000..cbae4cd46098d Binary files /dev/null and b/docs/html/images/tools/performance/allocation_tracker.png differ diff --git a/docs/html/images/tools/performance/battery_historian.png b/docs/html/images/tools/performance/battery_historian.png new file mode 100755 index 0000000000000..d1d58ac873328 Binary files /dev/null and b/docs/html/images/tools/performance/battery_historian.png differ diff --git a/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image01.png b/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image01.png new file mode 100644 index 0000000000000..8f12698b9a172 Binary files /dev/null and b/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image01.png differ diff --git a/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image02.png b/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image02.png new file mode 100644 index 0000000000000..e8a0a87d357fa Binary files /dev/null and b/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image02.png differ diff --git a/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image03.png b/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image03.png new file mode 100644 index 0000000000000..8914d3be1d726 Binary files /dev/null and b/docs/html/images/tools/performance/batterystats-battery-historian/gettingstarted_image03.png differ diff --git a/docs/html/images/tools/performance/compare_AllocationTracker.png b/docs/html/images/tools/performance/compare_AllocationTracker.png new file mode 100755 index 0000000000000..bec9931c007ba Binary files /dev/null and b/docs/html/images/tools/performance/compare_AllocationTracker.png differ diff --git a/docs/html/images/tools/performance/compare_HeapViewer.png b/docs/html/images/tools/performance/compare_HeapViewer.png new file mode 100755 index 0000000000000..2cc4bceaf6ce7 Binary files /dev/null and b/docs/html/images/tools/performance/compare_HeapViewer.png differ diff --git a/docs/html/images/tools/performance/compare_MemoryMonitor.png b/docs/html/images/tools/performance/compare_MemoryMonitor.png new file mode 100755 index 0000000000000..5a728fd75b9cc Binary files /dev/null and b/docs/html/images/tools/performance/compare_MemoryMonitor.png differ diff --git a/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image01.png b/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image01.png new file mode 100644 index 0000000000000..a398f35b44a2b Binary files /dev/null and b/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image01.png differ diff --git a/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image02.png b/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image02.png new file mode 100644 index 0000000000000..9a7ccb3e00926 Binary files /dev/null and b/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image02.png differ diff --git a/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image03.png b/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image03.png new file mode 100644 index 0000000000000..acdff2c2f2109 Binary files /dev/null and b/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image03.png differ diff --git a/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image04.png b/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image04.png new file mode 100644 index 0000000000000..8219ec8ad8382 Binary files /dev/null and b/docs/html/images/tools/performance/debug-gpu-overdraw/gettingstarted_image04.png differ diff --git a/docs/html/images/tools/performance/gpu_profiling.png b/docs/html/images/tools/performance/gpu_profiling.png new file mode 100755 index 0000000000000..c86fb1444e8d4 Binary files /dev/null and b/docs/html/images/tools/performance/gpu_profiling.png differ diff --git a/docs/html/images/tools/performance/heap-viewer/gettingstarted_image01.png b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image01.png new file mode 100644 index 0000000000000..eef493cf902bd Binary files /dev/null and b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image01.png differ diff --git a/docs/html/images/tools/performance/heap-viewer/gettingstarted_image02.png b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image02.png new file mode 100644 index 0000000000000..7540640db6271 Binary files /dev/null and b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image02.png differ diff --git a/docs/html/images/tools/performance/heap-viewer/gettingstarted_image03.png b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image03.png new file mode 100644 index 0000000000000..42e8ba308817d Binary files /dev/null and b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image03.png differ diff --git a/docs/html/images/tools/performance/heap-viewer/gettingstarted_image04.png b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image04.png new file mode 100644 index 0000000000000..36d1164232673 Binary files /dev/null and b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image04.png differ diff --git a/docs/html/images/tools/performance/heap-viewer/gettingstarted_image05.png b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image05.png new file mode 100644 index 0000000000000..b74d37b6f9e97 Binary files /dev/null and b/docs/html/images/tools/performance/heap-viewer/gettingstarted_image05.png differ diff --git a/docs/html/images/tools/performance/heap_viewer.png b/docs/html/images/tools/performance/heap_viewer.png new file mode 100755 index 0000000000000..d9028d0baf07d Binary files /dev/null and b/docs/html/images/tools/performance/heap_viewer.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image001.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image001.png new file mode 100644 index 0000000000000..eef493cf902bd Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image001.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image002.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image002.png new file mode 100644 index 0000000000000..00e8edf1d9e15 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image002.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image003.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image003.png new file mode 100644 index 0000000000000..c0f9c78e1867d Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image003.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image004.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image004.png new file mode 100644 index 0000000000000..bc555b8cd640e Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image004.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image005.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image005.png new file mode 100644 index 0000000000000..209f71bf2782e Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image005.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image006.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image006.png new file mode 100644 index 0000000000000..57d3256e4a9b2 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image006.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image007.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image007.png new file mode 100644 index 0000000000000..dd12e07ca5017 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image007.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image008.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image008.png new file mode 100644 index 0000000000000..74302b25aaf89 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image008.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image009.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image009.png new file mode 100644 index 0000000000000..1b93961a3afb6 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image009.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image010.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image010.png new file mode 100644 index 0000000000000..1fe198bba188d Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image010.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image011.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image011.png new file mode 100644 index 0000000000000..a9a0a3ebe67e8 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image011.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image012.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image012.png new file mode 100644 index 0000000000000..9308cd141f3c5 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image012.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image013.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image013.png new file mode 100644 index 0000000000000..80e1ba126efb0 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image013.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image014.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image014.png new file mode 100644 index 0000000000000..326c5a0ccd307 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image014.png differ diff --git a/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image015.png b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image015.png new file mode 100644 index 0000000000000..e9824a406221a Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy-viewer/gettingstarted_image015.png differ diff --git a/docs/html/images/tools/performance/hierarchy_viewer.png b/docs/html/images/tools/performance/hierarchy_viewer.png new file mode 100755 index 0000000000000..064efeaa749d0 Binary files /dev/null and b/docs/html/images/tools/performance/hierarchy_viewer.png differ diff --git a/docs/html/images/tools/performance/import_image001.png b/docs/html/images/tools/performance/import_image001.png new file mode 100755 index 0000000000000..872c55b55963e Binary files /dev/null and b/docs/html/images/tools/performance/import_image001.png differ diff --git a/docs/html/images/tools/performance/import_image002.png b/docs/html/images/tools/performance/import_image002.png new file mode 100755 index 0000000000000..114f90b6c5c20 Binary files /dev/null and b/docs/html/images/tools/performance/import_image002.png differ diff --git a/docs/html/images/tools/performance/import_image003.png b/docs/html/images/tools/performance/import_image003.png new file mode 100755 index 0000000000000..1e47d7b332fa5 Binary files /dev/null and b/docs/html/images/tools/performance/import_image003.png differ diff --git a/docs/html/images/tools/performance/import_image004.png b/docs/html/images/tools/performance/import_image004.png new file mode 100755 index 0000000000000..6c5b8013b1973 Binary files /dev/null and b/docs/html/images/tools/performance/import_image004.png differ diff --git a/docs/html/images/tools/performance/import_image005.png b/docs/html/images/tools/performance/import_image005.png new file mode 100755 index 0000000000000..35080c5b15de1 Binary files /dev/null and b/docs/html/images/tools/performance/import_image005.png differ diff --git a/docs/html/images/tools/performance/import_image006.png b/docs/html/images/tools/performance/import_image006.png new file mode 100755 index 0000000000000..08b9e61f3a783 Binary files /dev/null and b/docs/html/images/tools/performance/import_image006.png differ diff --git a/docs/html/images/tools/performance/import_image007.png b/docs/html/images/tools/performance/import_image007.png new file mode 100755 index 0000000000000..d2ec83b796b45 Binary files /dev/null and b/docs/html/images/tools/performance/import_image007.png differ diff --git a/docs/html/images/tools/performance/import_image008.png b/docs/html/images/tools/performance/import_image008.png new file mode 100755 index 0000000000000..efde7df59c90a Binary files /dev/null and b/docs/html/images/tools/performance/import_image008.png differ diff --git a/docs/html/images/tools/performance/import_image009.png b/docs/html/images/tools/performance/import_image009.png new file mode 100755 index 0000000000000..f9e61099aaf12 Binary files /dev/null and b/docs/html/images/tools/performance/import_image009.png differ diff --git a/docs/html/images/tools/performance/import_image010.png b/docs/html/images/tools/performance/import_image010.png new file mode 100755 index 0000000000000..165edea17dab9 Binary files /dev/null and b/docs/html/images/tools/performance/import_image010.png differ diff --git a/docs/html/images/tools/performance/import_image011.png b/docs/html/images/tools/performance/import_image011.png new file mode 100755 index 0000000000000..f475ebc154eaf Binary files /dev/null and b/docs/html/images/tools/performance/import_image011.png differ diff --git a/docs/html/images/tools/performance/memory-monitor/gettingstarted_image001.png b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image001.png new file mode 100644 index 0000000000000..c6fe0456a64cc Binary files /dev/null and b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image001.png differ diff --git a/docs/html/images/tools/performance/memory-monitor/gettingstarted_image002.png b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image002.png new file mode 100644 index 0000000000000..f46b6f1343448 Binary files /dev/null and b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image002.png differ diff --git a/docs/html/images/tools/performance/memory-monitor/gettingstarted_image003.png b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image003.png new file mode 100644 index 0000000000000..72291cd393456 Binary files /dev/null and b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image003.png differ diff --git a/docs/html/images/tools/performance/memory-monitor/gettingstarted_image004.png b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image004.png new file mode 100644 index 0000000000000..d34387994f911 Binary files /dev/null and b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image004.png differ diff --git a/docs/html/images/tools/performance/memory-monitor/gettingstarted_image005.png b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image005.png new file mode 100644 index 0000000000000..f7d9784ed4dd0 Binary files /dev/null and b/docs/html/images/tools/performance/memory-monitor/gettingstarted_image005.png differ diff --git a/docs/html/images/tools/performance/memory_monitor.png b/docs/html/images/tools/performance/memory_monitor.png new file mode 100755 index 0000000000000..c7611411b6604 Binary files /dev/null and b/docs/html/images/tools/performance/memory_monitor.png differ diff --git a/docs/html/images/tools/performance/overdraw.png b/docs/html/images/tools/performance/overdraw.png new file mode 100755 index 0000000000000..ff402d0ca730c Binary files /dev/null and b/docs/html/images/tools/performance/overdraw.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image001.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image001.png new file mode 100644 index 0000000000000..d59cf12bd23fe Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image001.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image002.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image002.png new file mode 100644 index 0000000000000..5f974efbd1b91 Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image002.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image003.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image003.png new file mode 100644 index 0000000000000..788c18d2cd8e1 Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image003.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image004.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image004.png new file mode 100644 index 0000000000000..ab0616eddb598 Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image004.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image005.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image005.png new file mode 100644 index 0000000000000..6411bf62ff0c4 Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image005.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image006.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image006.png new file mode 100644 index 0000000000000..6376a1a7b9187 Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image006.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image007.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image007.png new file mode 100644 index 0000000000000..586a8d83ff52f Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image007.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image008.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image008.png new file mode 100644 index 0000000000000..47ff045088b8e Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image008.png differ diff --git a/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image009.png b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image009.png new file mode 100644 index 0000000000000..c448162fb7e76 Binary files /dev/null and b/docs/html/images/tools/performance/profile-gpu-rendering/gettingstarted_image009.png differ diff --git a/docs/html/images/tools/performance/systrace.png b/docs/html/images/tools/performance/systrace.png new file mode 100755 index 0000000000000..567a8a75a099d Binary files /dev/null and b/docs/html/images/tools/performance/systrace.png differ diff --git a/docs/html/images/tools/performance/systrace/gettingstarted_image001.png b/docs/html/images/tools/performance/systrace/gettingstarted_image001.png new file mode 100644 index 0000000000000..e31f5319ec900 Binary files /dev/null and b/docs/html/images/tools/performance/systrace/gettingstarted_image001.png differ diff --git a/docs/html/images/tools/performance/systrace/gettingstarted_image002.png b/docs/html/images/tools/performance/systrace/gettingstarted_image002.png new file mode 100644 index 0000000000000..01c69f515d50d Binary files /dev/null and b/docs/html/images/tools/performance/systrace/gettingstarted_image002.png differ diff --git a/docs/html/images/tools/performance/systrace/gettingstarted_image003.png b/docs/html/images/tools/performance/systrace/gettingstarted_image003.png new file mode 100644 index 0000000000000..bf34f3fc9b8b1 Binary files /dev/null and b/docs/html/images/tools/performance/systrace/gettingstarted_image003.png differ diff --git a/docs/html/images/tools/performance/systrace/gettingstarted_image004.png b/docs/html/images/tools/performance/systrace/gettingstarted_image004.png new file mode 100644 index 0000000000000..2a5286f943107 Binary files /dev/null and b/docs/html/images/tools/performance/systrace/gettingstarted_image004.png differ diff --git a/docs/html/images/tools/performance/systrace/gettingstarted_image005.png b/docs/html/images/tools/performance/systrace/gettingstarted_image005.png new file mode 100644 index 0000000000000..7f41398d97e78 Binary files /dev/null and b/docs/html/images/tools/performance/systrace/gettingstarted_image005.png differ diff --git a/docs/html/images/tools/performance/traceview.png b/docs/html/images/tools/performance/traceview.png new file mode 100755 index 0000000000000..16e6bddf59461 Binary files /dev/null and b/docs/html/images/tools/performance/traceview.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image001.png b/docs/html/images/tools/performance/traceview/gettingstarted_image001.png new file mode 100644 index 0000000000000..eef493cf902bd Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image001.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image002.png b/docs/html/images/tools/performance/traceview/gettingstarted_image002.png new file mode 100644 index 0000000000000..a3343199d0947 Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image002.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image003.png b/docs/html/images/tools/performance/traceview/gettingstarted_image003.png new file mode 100644 index 0000000000000..57f3ab4e77a8b Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image003.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image004.png b/docs/html/images/tools/performance/traceview/gettingstarted_image004.png new file mode 100644 index 0000000000000..b32b9adea0201 Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image004.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image005.png b/docs/html/images/tools/performance/traceview/gettingstarted_image005.png new file mode 100644 index 0000000000000..a893dde06ed30 Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image005.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image006.png b/docs/html/images/tools/performance/traceview/gettingstarted_image006.png new file mode 100644 index 0000000000000..9ffee43c5a51a Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image006.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image007.png b/docs/html/images/tools/performance/traceview/gettingstarted_image007.png new file mode 100644 index 0000000000000..3b04ba37a9147 Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image007.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image008.png b/docs/html/images/tools/performance/traceview/gettingstarted_image008.png new file mode 100644 index 0000000000000..054cd905b46fc Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image008.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image009.png b/docs/html/images/tools/performance/traceview/gettingstarted_image009.png new file mode 100644 index 0000000000000..7b95cf3e1ceb5 Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image009.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image010.png b/docs/html/images/tools/performance/traceview/gettingstarted_image010.png new file mode 100644 index 0000000000000..871d4bc73f5f0 Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image010.png differ diff --git a/docs/html/images/tools/performance/traceview/gettingstarted_image011.png b/docs/html/images/tools/performance/traceview/gettingstarted_image011.png new file mode 100644 index 0000000000000..6e39a193b05e5 Binary files /dev/null and b/docs/html/images/tools/performance/traceview/gettingstarted_image011.png differ diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js index e2d0eb9221129..acbd138aaecbd 100644 --- a/docs/html/jd_collections.js +++ b/docs/html/jd_collections.js @@ -1281,5 +1281,38 @@ var RESOURCE_COLLECTIONS = { "training/enterprise/work-policy-ctrl.html", "samples/BasicManagedProfile/index.html" ] + }, + "tools/performance/rendering": { + "title": "", + "resources": [ + "tools/performance/debug-gpu-overdraw/index.html", + "tools/performance/profile-gpu-rendering/index.html", + "tools/performance/hierarchy-viewer/setup.html", + "tools/performance/hierarchy-viewer/index.html", + "tools/performance/hierarchy-viewer/profiling.html" + ] + }, + "tools/performance/memory": { + "title": "", + "resources": [ + "tools/performance/memory-monitor/index.html", + "tools/performance/heap-viewer/index.html", + "tools/performance/allocation-tracker/index.html", + "tools/performance/comparison.html" + ] + }, + "tools/performance/cpu": { + "title": "", + "resources": [ + "tools/performance/traceview/index.html", + "tools/performance/systrace/index.html" + ] + }, + "tools/performance/battery": { + "title": "", + "resources": [ + "tools/performance/batterystats-battery-historian/index.html", + "tools/performance/batterystats-battery-historian/charts.html" + ] } } diff --git a/docs/html/tools/performance/allocation-tracker/index.jd b/docs/html/tools/performance/allocation-tracker/index.jd new file mode 100644 index 0000000000000..e71b584ffba18 --- /dev/null +++ b/docs/html/tools/performance/allocation-tracker/index.jd @@ -0,0 +1,148 @@ +page.title=Allocation Tracker Walkthrough +meta.tags="android, performance, profiling, tools, memoryleaks, memoryheap" +page.tags="android", "performance", "profiling", "tools", "memoryleaks", "memoryheap" +page.metaDescription=Record you app's memory allocations with their call stack to identify code that allocates and frees objects unnecessarily. +page.image=tools/performance/thumbnails/tools_allocation_tracker.png +page.article=true + + +@jd:body + + + + +
This walkthrough shows the basic usage and workflow for the Allocation Tracker tool in Android + Studio. Allocation Tracker records an app's memory allocations and lists all + allocated objects for the profiling cycle with their call stack, size, and allocating code.
+ +What it's good for:
+ +Before using Allocation Tracker, profile your code with the + Memory + Monitor Tool. If you see many garbage collection events in a short amount of time, use + Heap + Viewer to identify candidate object types, and Allocation Tracker to determine where this is + happening in your code.
+ +Allocation Tracker records each memory allocation that your app performs during the profiling + cycle. You tell Allocation Tracker to start recording and it logs allocations + until you tell it to stop.
+ ++ The Battery Historian chart graphs power-relevant events over time.
+ +Each row shows a colored bar segment when a system component is active + and thus drawing current from the battery. The chart does not show how much battery was used by the + component, only that the app was active. Charts are organized by category.
+ +
+ + Figure 1. Example of Battery Historian output. +
+Note: + Not every chart will show every category.
+ +You can gather additional information from the batterystats.txt file
+ where you saved the output from the batterystats command.
+ + Figure 2.Example of filtered batterystats output. +
+Open the file in a text editor and search for:
+ +Battery History: A time series of power-relevant events, such as
+ screen, Wi-Fi, and app launch. These are also visible through Battery Historian.Per-PID Stats: How long each process ran.Statistics since last charge: System-wide statistics, such as
+ cell signal levels and screen brightness. Provides an overall picture of what's happening
+ with the device. This information is especially useful
+ to make sure no external events are affecting your experiment.Estimated power use (mAh) by UID and peripheral: This is currently an
+ extremely rough estimate and should not be considered experiment data.Per-app mobile ms per packet: Radio-awake-time divided by packets sent.
+ An efficient app will transfer all its traffic in batches, so the lower this number the
+ better.All partial wake locks: All app-held wakelocks, by aggregate
+ duration and count.This walkthrough shows the basic usage and workflow for the Batterystats tool and the Battery + Historian script.
+ +Batterystats collects battery data from your device, and Battery Historian converts that data + into an HTML visualization that you can view in your Browser. Batterystats is part of the Android + framework, and Battery Historian is open-sourced and available on GitHub at https://github.com/google/battery-historian.
+ +What it's good for:
+ +
+ https://github.com/google/battery-historian
+ > adb kill-server
+ > adb devices
+ > adb shell dumpsys batterystats --reset
+ <disconnect and play with app>...<reconnect>
+ > adb devices
+ >adb shell dumpsys batterystats > batterystats.txt
+ > python historian.py batterystats.txt > batterystats.html
+
+ historian.py file
+ and move it to the Desktop or another writable directory.historian.py,
+ cd ~/Desktop> adb kill-server> adb devices
+
+ > adb shell dumpsys batterystats --reset
+ Resetting erases old battery collection data; otherewise, the output will be huge.
+> adb devices> adb shell dumpsys batterystats > batterystats.txt> python historian.py batterystats.txt > batterystats.htmlbatterystats.htm file in your browser.
+ Figure 1. Battery Historian output.
+
+ Heap Viewer, Memory Monitor, and Allocation Tracker are complementary tools that visualize the + memory your app uses.
+ +
+ + Figure 1. Memory Monitor. +
+
+ + Figure 2. Heap Viewer. +
++ Figure 3. Allocation Tracker. +
+This walkthrough shows how to visualize overdraw on your mobile device by color-coding + interface elements based on how often they are drawn underneath.
+ +What it's good for:
+ +This walkthrough shows the basic usage and workflow for the Heap Viewer tool. Heap Viewer + reports in real-time what types of objects your application has allocated, how many, and + their sizes on the heap.
+ +What it's good for:
+ +Note: To visualize allocation changes over time, combine + several snapshots of the bar graph into an animated gif or video.
+This walkthrough shows the basic usage and workflow for the Hierarchy Viewer tool.
+ +The Hierarchy Viewer tool visualizes your app's view hierarchy and + profiles the relative rendering speed for each view. + +
What it's good for:
+ +This walkthrough shows you how to profile your app's view hiearchy with + Hierarchy Viewer, and how to interpret the results.
+ +Hierarchy Viewer measures the relative performance of a + node, so there are always red nodes in a profile, and it + doesn't necessarily mean that view is too slow for the users of + your app.
+ +Hierarchy Viewer software rasterizes your Activity to acquire the timing + information. Rasterization is the process of taking a high-level primitive, such as a + circle or a vector font, and turning it into pixels on the screen. Typically, + rasterization is done by the GPU on your device, but in the case of + software rasterization, rendering is done on the CPU with + ordinary software. This means that the absolute + reported timings are correct relative to each other, but are bloated and vary + depending on the overall and changing CPU workload on your device and PC. Profile + several times to get a feel for the average measurements.
+ +The following are guidelines for interpreting Hierarchy Viewer profiling output.
+ +A red node is a potential problem in any situation where your app has + unexpectedly slow performance. In a relative setting, there is always a + slowest node; make sure it is the node you expect. + The following examples illustrate how to interpret red dots.
+ +To run Hierarchy Viewer, you must enable Developer Options on your mobile device and perform + some setup on your computer.
+ +Enable Developer Options + on your mobile device.
ANDROID_HVPROTOddm~/.bash_profile#Hierarchy Viewer Variable
+
export ANDROID_HVPROTO=ddm
+ source ~/.bash_profile~/.bash_profile#Hierarchy Viewer Variable
+
export ANDROID_HVPROTO=ddm
+ source ~/.bash_profileImporting some pre-Android-1.0 projects into Android 1.0 or newer can trigger a series of + errors. This document shows you how to resolve them, using a version of the Sunshine app used in + the Android Fundamentals Udacity Course as an + example.
+ +CAVEAT: As with all documentation of this kind, the details are likely to vary for each + application and each update of Android Studio.
+ +
+
+ If you get a Gradle error:
+ +
+
+
+
+ build.gradle file.compileSdkVersion 21targetSdkVersion 21runProguard with minifyEnabledYour file should look like this:
+
+
+
+ For the following two messages (Steps 18/19), what you see might vary. You might see either + message or both messages in sequence. Click the appropriate links to continue until the Language + Level Changed dialog opens.
+ +
+
+
+
+ Putting pixels on the screen involves four primary pieces of hardware. + To greatly simplify, the CPU computes display lists, the GPU renders images to + the display, the memory stores images and data, and the battery provides + electrical power. Each of these pieces of hardware has constraints; pushing + or exceeding those constraints causes your app to be slow, have + bad display performance, or exhaust the battery. + +
To discover what causes your specific performance problems, you need to + take a look under the hood, use tools to collect data about your app's + execution behavior, surface that data as lists and + graphics, understand and analyze what you see, and improve your code.
+ +Android Studio and your device provide profiling tools to record and + visualize the rendering, compute, memory, and battery performance of your + app.
+ +Visualize the rendering behavior and performance of your app.
+ +Visualize the memory behavior and performance of your app.
+ +Visualize the CPU behavior and performance of your app.
+ +Visualize the battery behavior and performance of your app.
+ +This walkthrough shows the basic usage and workflow for the Memory Monitor tool in Android + Studio. Memory Monitor reports in real-time how your app allocates memory.
+ +What it's good for:
+ +This walkthrough shows how to use Profile GPU Rendering on your mobile device.
+ +Profile GPU Rendering gives you a quick visual representation of how much time it takes to + render the frames of a UI window relative to the 16-ms-per-frame benchmark.
+ +What it's good for:
+ ++ Figure 3. Enlarged Annotated Profile GPU Rendering graph. +
+ +In this enlarged image of the Profile GPU Rending graph you can see the colored sections + of the graph, and what phase of the rendering pipeline each color represents.
+ +Note: + While this tool is named Profile GPU Rendering, all monitored processes actually + occur in the CPU. Rendering happens by submitting commands to the GPU, and the GPU renders the + screen asynchronously. In certain situations, the GPU can have too much work to do, + and your CPU will have to wait before it can submit new commands. + When this happens, you'll see spikes in the Process (orange bar) and Execute (red bar) + stages, and the sommand submission will block until more room is made on the + GPU command queue. +
+ +This walkthrough shows the basic usage and workflow for the Systrace tool in the Android + Device Monitor.
+ +Systrace collects system and application process execution data and generates detailed, + interactive reports from devices running Android 4.1 and higher.
+ +What it's good for:
+ +This walkthrough shows the basic usage and workflow for the Traceview tool. Traceview logs + method execution over time and shows execution data, per-thread timelines, and call stacks.
+ +What it's good for:
+ +