Cómo ver un perfil del sistema

En el Inspector de GPU de Android (AGI), puedes ver y analizar un perfil del sistema en la IU de System Profiler. Después de generar el perfil de un sistema y abrir el archivo de registro en AGI, System Profiler muestra los datos de generación de perfiles en un cronograma con elementos expandibles que muestran detalles adicionales.

Los elementos principales de la IU del Generador de perfiles del sistema incluyen los siguientes:

Creación de perfiles de datos

En un archivo de registro, los datos de generación de perfiles se almacenan en eventos con marcas de tiempo llamados eventos de registro. Los eventos de registro constan de varios tipos de segmentos y contadores. Por ejemplo, los eventos de registro de CPU incluyen segmentos de programación, mientras que los eventos de registro de GPU incluyen contadores de rendimiento de GPU y segmentos de subprocesos.

En la IU de System Profiler, el panel de seguimiento contiene eventos de seguimiento que se muestran en filas llamadas pistas, que se basan en la línea de tiempo. Las pistas del mismo tipo se muestran en grupos de pistas.

Recorridos de GPU

Los segmentos de GPU muestran información de generación de perfiles de la GPU. Estos son los principales tipos de pistas de GPU:

  1. Pistas de la cola de la GPU: Actividad de la GPU de la aplicación.

  2. Pistas de contador de GPU: Son los contadores de hardware de la GPU muestreados en intervalos periódicos.

  3. Pista de eventos de Vulkan: Eventos relacionados con la API de Vulkan.

  4. Registros de SurfaceFlinger: Son eventos de SurfaceFlinger que indican cómo se mueven los búferes de gráficos por el sistema.

Registros de la fila de GPU

Una GPU puede tener uno o más registros de GPU Queue según la cantidad de filas de hardware que se ejecutaron durante el registro. Los segmentos de actividad de los registros de GPU Queue representan el período y el tipo de trabajo de la GPU que usó tu app.

Un segmento de actividad contiene metadatos que puedes ver, como el búfer de comandos de Vulkan, el pase de renderización y el búfer de fotogramas que iniciaron el trabajo. Los identificadores de Vulkan para estos objetos se muestran en el panel details de la siguiente manera:

  • VkCommandBuffer
  • VkRenderPass
  • VkFrameBuffer

Puedes asignar nombres fáciles de usar a estos objetos para identificarlos fácilmente en un registro junto con sus identificadores con la función vkSetDebugUtilsObjectNameEXT de la extensión VK_EXT_debug_utils o la función vkDebugMarkerSetObjectNameEXT de la extensión VK_EXT_debug_marker. Ambas extensiones se implementan con AGI y están disponibles para tu aplicación durante el seguimiento.

Registros de contador de GPU

Los gráficos de seguimiento de los contadores de GPU registran el valor de los contadores de rendimiento de la GPU muestreados en un intervalo periódico. Los gráficos muestran las variaciones en el rendimiento de los componentes de hardware subyacentes de las GPUs entre las muestras. Puedes usar esta información para identificar los cuellos de botella en el uso de la GPU.

Los contadores disponibles son específicos del hardware. Puedes ver descripciones breves de cada contador colocando el cursor sobre el nombre del seguimiento. Para obtener más detalles, consulta Contadores de rendimiento de GPU.

Pista de eventos de Vulkan

El registro de eventos de Vulkan muestra los eventos de la API de Vulkan que se registraron durante el registro. Los tipos de eventos de seguimiento son principalmente eventos de envío de la cola (llamadas de vkQueueSubmit). Si haces clic en un evento de envío de la fila, la AGI destacará los segmentos de actividad de la GPU asociados con la llamada. Puedes usar estos datos para inspeccionar el trabajo asíncrono en cola por las llamadas a la API de Vulkan y la latencia entre la CPU y la GPU.

Registros de SurfaceFlinger

SurfaceFlinger hace un seguimiento del ciclo de vida de los búferes gráficos (los destinos de renderización de la cadena de intercambio de una app) a medida que avanzan por el sistema hasta que se muestran. Los eventos se agregan por búfer para facilitar el seguimiento de la sobrecarga y la latencia necesarias para adquirir y publicar búferes.

Interactúa con los datos de generación de perfiles

En esta sección, se describe cómo interactuar con los datos de generación de perfiles en la IU del Generador de perfiles del sistema.

Fijar

Puedes fijar pistas y grupos de pistas con el botón de fijar.

Contraer y expandir

Algunos segmentos y todos los grupos de segmentos se pueden contraer. Algunos grupos de pistas muestran un resumen cuando se contraen. Por ejemplo, cuando se contrae, el grupo de pistas de CPU muestra el uso general de la CPU en un gráfico.

Zoom

AGI agrega datos de generación de perfiles según el nivel de zoom. Cuando abres un archivo de registro por primera vez, la IU de System Profiler muestra el perfil completo con el nivel de alejamiento máximo. Para inspeccionar el perfil, busca áreas de interés y, luego, consulta los detalles.

A medida que acercas y alejas el mapa en diferentes tipos de pistas, se muestran diferentes tipos de datos de perfilado. Por ejemplo, las pistas de CPU muestran inicialmente fragmentos de tiempo de cada subproceso y, luego, cambian para mostrar los datos de uso del núcleo de CPU cuando se acerca la imagen.

Ver detalles

Puedes mostrar metadatos detallados en el panel de detalles seleccionando elementos en el panel de pistas. Si un elemento se puede seleccionar, cuando coloques el cursor sobre él, este cambiará a un puntero y, luego, podrás elegir el elemento.

Selecciona un período

Puedes seleccionar un intervalo de tiempo, lo que te permite comparar eventos de registro de diferentes segmentos. Para ello, habilita el modo Sincronización y, luego, arrastra el dedo para seleccionar un rango. Todo lo que está fuera del rango se atenúa y se muestra la duración del rango.

También puedes seleccionar el período de un segmento seleccionado presionando M. Luego, puedes desplazarte por pistas adicionales para identificar eventos del mismo período.

Puedes navegar por los elementos del panel de pistas con las teclas WASD o desplazándote y moviendo la vista. System Profiler usa los mismos atajos de teclado y mouse que Systrace. Los accesos directos disponibles incluyen los siguientes:

  • W y S, o Ctrl++ y Ctrl+- para acercar la imagen
  • Las flechas A y D, o left y right, desplazan la vista hacia la izquierda y la derecha.
  • Las flechas Q y E, o up y down, desplazan los segmentos.
  • Mantener presionada la tecla shift aumenta la velocidad de movimiento de la navegación.
  • Ctrl + desplazamiento acerca el elemento seleccionado.
  • F hace zoom en un elemento seleccionado.
  • Z + 0 restablece y aleja por completo el mapa.
  • V activa o desactiva el resaltado de la sincronización vertical si está disponible en el registro.
  • M marca la selección actual seleccionando su intervalo de tiempo.
  • H o ? muestran la hoja de referencia de combinaciones de teclas y mouse.

La barra de herramientas contiene botones que permiten cambiar entre los modos de navegación, que seleccionan la acción que se realiza cuando arrastras elementos en el panel de pistas. También puedes seleccionar los siguientes modos de navegación presionando las teclas 1, 2, 3 y 4:

  1. Selección: Arrastra para seleccionar elementos en un cuadro.
  2. Desplazamiento lateral: Arrastra para desplazarte lateralmente y desplazarte por las pistas. Este es el modo predeterminado.
  3. Zoom: Arrastra verticalmente para acercar los elementos.
  4. Tiempos: Arrastra el control deslizante para seleccionar un período.

También puedes usar los modos de navegación con estas teclas modificadoras:

  • Shift+arrastra para seleccionar varios elementos.
  • Space+arrastrar para desplazar y desplazarse.
  • Ctrl+Desplázate para acercar.
  • Ctrl+arrastra para seleccionar un período.