Mali Timeline Events present GPU queue scheduling information through a timeline view. This topic describes how to collect Mali Timeline Events from the GUI and the command line.
You can use Mali Timeline Events to help you:
Identify scheduling issues where the queues run serially, for all or part of frame.
Correlate counter samples with render passes and compute dispatches.
Ensure your device supports Mali Timeline Events.
Mali Timeline Events requires your device to:
Have a release build of Android 10 or later
Have a Mali device driver version r40p0 or later
Be running the Perfetto service
Note
Mali Timeline Events:
Are not supported on Midgard architecture GPUs
Might be available as a preview feature on some devices which have Mali device driver version r36p0, however, Mali Timeline Events are not universally available until version r40p0
Supports OpenCL data from version r43p0 for Android and Linux. If your application contains OpenCL content, select the Mali Timeline counter to show the events in the Compute Queue Custom Activity Map (CAM) track.
Connect your device.
If you are using the Streamline GUI, navigate to the Start view and select your device type, device, and application.
If you are using the command line capture, open a command terminal.
Linux users must manually set the environment variable MALI_GPU_RENDERSTAGES_ENABLE=1. See System requirements for Mali Timeline support in the Arm Streamline Target Setup Guide for Linux for more information.
Enable the Mali Timeline Events counter, either:
In the Streamline GUI:
In the Start view, select the Use advanced mode checkbox.
Click Select Counters.
Drag the Mali Timeline events: Perfetto counter from the Available events column to the Events to collect column.
Note
If many event counters are available for your device, you can use the search bar to filter the available events. In the search bar, search for Mali Timeline.
If the counter is not displayed, then your device does not support Mali Timeline events.
Click Save.
In a command terminal, either:
Add "MaliTimeline_Perfetto" to your configuration.xml file
Pass "MaliTimeline_Perfetto" as a value to the -C option on your gatord capture command line. For example:
./gatord --android-pkg com.example1 --android-activity .ExampleActivity -C MaliTimeline_Perfetto - o ExampleCapture.apc -t 5
Run the capture. Either:
In the GUI, to start your capture, click Start capture.
On the command line, run your gatord capture command.
View the Mali Timeline capture. In the Streamline GUI, open the Timeline view. Navigate to the view selector at the bottom-left of the Timeline view, and select the Mali Timeline view.
Note
If your device does not support Mali Timeline Events, an error message displays in the Error view. The device requirements for capturing Mali Timeline Events are listed in the Before you begin section of this topic.
The Mali Timeline view opens which shows the device, process, graphics context, and a list of the queues that were present in your capture.
For example:
Tip
View the events on the Mali Timeline events view with a high level of zoom, for example 1ms. If the events are not clear at 1ms zoom, re-analyze the capture in High or Ultra-High resolution mode. To learn how to re-analyze your capture with higher resolution modes, see Re-analyze stored capture data.
To view the connections between queue events, select Show all connections.
To get the Initiated and Duration times for an event, hover the cursor over the event.