In our previous post, we introduced module 1 of Arm's free Mali GPU training for mobile graphics developers. Here, we will present module 2, which covers the latest best practice recommendations, to help you get the best performance from commonly deployed Mali GPUs. In this module:
First, let us introduce the Mali GPU family, and describe the evolution of the architecture and its capabilities.
Cannot see this video? Try this link instead.
Now, let us look at how the design decisions you make during game development can impact performance on mobile. We will offer some tips and best practices to help you avoid common problems.
To get the best performance out of a tile-based renderer one of the most important things to get right is the frame graph. This defines the bare bones of the frame – the render passes, the compute passes, and how data flows between them. In this video, we introduce some ideas to help you understand how frames can be built more efficiently, to make the best use of a mobile device’s resources.
In this video, we introduce some engine and API best practices to help you avoid common problems.
GPUs are data plane processors, so it should be no surprise that the data payload of content is critically important to the performance that can be achieved. In this video, we introduce some best practices to help you create efficient content that will perform well on a wide range of mobile devices.
The final video in this module introduces some best practices for shader programs, to help you get the best performance on Mali GPUs.
Arm publishes a wealth of content to support you. Visit our developer website, where you can find guidelines for artists, including best practices for materials and shaders, geometry, and textures. We also have a comprehensive set of best practices for Mali GPUs, to help you develop more performant graphics.
If you are developing on Unity, there are some optimization guidelines for you. For technical artists, there is also a great Unity learn course, 3D Art optimization for Mobile Applications. This walks you through some example content, teaching all the basic principles. We also publish our Unity developer guides in Korean, Japanese, and Chinese.
There is a set of performance counter reference guides for each Mali GPU, that describe all of the performance counter data that can be collected. We also provide a handy data sheet to help you compare the capabilities of each Mali GPU.
Look out for the next and final blog in this series, where we cover module 3 of the training. This module introduces Arm Mobile Studio, our free-to-use performance analysis tool suite for identifying performance problems on off-the-shelf Android devices. We demonstrate how to capture and analyze a performance profile of a mobile game, to see how the device’s CPU and GPU resources were used. You will also learn how to debug graphics API calls and shader programs to find more ways to optimize content for mobile.
If you liked this training, please let us know. If there is more you want to see, get in touch at mobilestudio@arm.com.
Join the discussion on the graphics and gaming forum.