Optimize graphics performance using Frame Advisor render graphs
Introduction
What are render graphs?
Generating a render graph for your application
Understanding your render graph
Problem solving – unused resources
Problem solving – unwanted execution nodes
Problem solving – textures with excessive resolution
Problem solving – inefficient transfer workloads
Next Steps
Optimize graphics performance using Frame Advisor render graphs
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:
- Frame Advisor, part of Arm Performance Studio, installed. Refer to the Arm Performance Studio install guide.
- If you wish to analyze your own applications you will need a supported Android device.
- Some basic familiarity with Frame Advisor. Review the Frame Advisor section in Get started with Arm Performance Studio for mobile .
Summary
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.
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
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.
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.
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.
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.
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.
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.