Who is this for?

Mobile application developers who wish to improve graphics performance.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Understand Frame Advisor's Render Graph view.
  • Use the Render Graph view to identify and resolve performance issues in your application.

Prerequisites

Before starting, you will need the following:

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll use Arm Performance Studio and Frame Advisor render graphs to find rendering work that wastes GPU resources. First, you’ll capture GPU data with Streamline, then capture an affected frame in Frame Advisor. After that, you’ll interpret execution and resource nodes to find unused outputs, unnecessary execution nodes, oversized textures, and inefficient transfers. Finally, you’ll use the graph and the API Calls view to identify code to change.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
How do I enable GPU data collection in Streamline before generating a render graph?
Open the Configure Capture section of the Start view and configure GPU data. For an Arm GPU, deselect Use advanced mode and select Capture Arm GPU.
What should I look for in the **Render Graph** view to understand frame execution?
Boxes (nodes) represent execution and resources, while arrows (edges) show how data moves between them. Focus on how resources produced by one node are consumed by later nodes to trace the frame’s data flow.
How do I spot unused resources in the graph?
Look for resources produced by an execution node that don’t feed into any downstream node. In the example, depth and stencil outputs are written but never consumed, indicating unnecessary work.
What should I do if an execution node produces only unused outputs?
Remove any API calls that represent that unused computation. Review the graph and code carefully to confirm the work is truly unused before making changes.
Why begin with Streamline before inspecting a render graph?
Streamline helps you identify which parts of the application are GPU‑heavy so you can target the right frames. After it’s identified, generate a render graph for those frames to investigate specific rendering inefficiencies.
Next