Less than three years ago, our tools development team hit upon a game-changing realization. Our popular and complex tools for developing mobile CPUs and GPUs offered invaluable insights for graphic application development and performance analysis. However, they brought too many distractions to be picked up and run with by the games industry. This was especially the case for performance analysis, as we were told by developers that performance analysis experts were in short supply across game studios. Still, the industry revealed a huge appetite for arming technical artists and artists with early and frequent testing around graphics performance across as many Android devices as possible. So we embarked on a project to build Arm Mobile Studio which is a tool suite capable of revealing whole system processing activity and allowing performance analysis ‘non-experts’ to predict and improve the efficiency of mobile games by fully maximizing and availing of the underlying hardware.
The Studio launched in March 2019 at GDC, allowing us to focus on growing awareness and uptake of the free tools for game developers and assimilating your feedback. We made three promises which reflected the feedback from our partners. The first was to keep improving the tools to ensure they deliver ease of use and are enabling efficient workflows. The second was to enrich developer education in gaming, above and beyond tools. The third commitment was to contribute to the development environment, which we see as the leading development engines. I would like to revisit those three commitments today.
In enabling efficient workflows, the best measure of success is the feedback from our partners. For example, leading games studio, King, is driven to move the bar in game quality, graphical fidelity, performance, and power efficiency for its mobile titles. King has been using Arm Mobile Studio extensively over several months and told us:
Arm Mobile Studio supports our work to identify performance optimization opportunities on Crash Bandicoot: On the Run! Working together has enabled us to enhance the player experience and deliver best in class graphics. Torbjörn Söderman, Studio Technical Director at King
Arm Mobile Studio supports our work to identify performance optimization opportunities on Crash Bandicoot: On the Run! Working together has enabled us to enhance the player experience and deliver best in class graphics.
Torbjörn Söderman, Studio Technical Director at King
This sort of feedback tells us that in the right hands, our tools are effective, but are they easy to use? Through improving usability, we can ensure that the people who most benefit from these insights are empowered to extract and leverage them. This is the case for the tools today and especially as we roll out richer feature sets in the future.
In our early releases, we knew that connecting to Android devices was not as straightforward as it could be. Now all our tools are simply plug and play. Supported devices which use chipsets built on Arm Mali GPU technology connected with USB are automatically detected, and you can start capturing data within a click of a button. We have also improved the GPU performance counter templates in Streamline to easily capture and visualize the performance data you need. In addition, a simple new performance budgeting feature helps you report on and stay below budgets right through development. We have many more plans for making performance analysis data easier and faster to come by for more game developers in the future.
Within one year of launching the Studio we also launched perhaps the most user-friendly component in the suite, Arm Performance Advisor. There had been some anticipation about the launch of this tool among our community. Game developers had been asking for easy-to-understand reports that automate analysis work and present a conclusion that would have otherwise taken a time-pressured performance expert too long to come to. The picture below provides a snapshot of a typical report from Performance Advisor with various data, including per-frame performance charts requested by many of our partners. This is based on rich technical performance data gathered from platforms with Arm CPUs and Mali GPUs.
Performance Advisor has been the ideal companion for other tools in the suite. Performance Advisor makes clear sense of the data gleaned from the CPU and GPU profiler (known as Streamline). The suite also includes a tool for tracing OpenGL ES and Vulkan API calls frame by frame (known as Graphics Analyzer). Performance Advisor also paved the way for the development of a professional edition of Arm Mobile Studio launched in March 2020, for use with continuous integration (CI). The Pro Edition applies the data insight from Performance Advisor to a more scalable model. It addresses some of the issues around performance experts being in such short supply, enabling an automated way to ensure efficient-running games. Arm Mobile Studio Professional is being used extensively by many of our key collaborators, including award-winning game studio, Wargaming. They told us:
Here at MS-1 (Wargaming) we are passionate about routine work automation. Performance testing has been automated for a long time, but our FPS test could only answer how it had changed for this build, but not why. For that, manual profiling was needed. What we wanted was to have test reports that gave an immediate insight into why the FPS dropped. While we integrated our internal lightweight CPU profiler to get an insight about what happens on CPU, GPU remained a black box for our automated tests. But then Mobile Studio Professional came to the rescue. It seamlessly integrated into our CI workflow and brought with it two very valuable enhancements: Performance Advisor html reports that show what changed on the GPU side in a simple and comprehensive way For complicated cases, which require a lot of digging, profiler captures are now waiting for an engineer, among other test run artifacts. There is no need to start profiling locally – download the capture and start your investigation with Streamline. Pavel Busko, Tech lead at MS-1, Wargaming.
Here at MS-1 (Wargaming) we are passionate about routine work automation. Performance testing has been automated for a long time, but our FPS test could only answer how it had changed for this build, but not why. For that, manual profiling was needed.
What we wanted was to have test reports that gave an immediate insight into why the FPS dropped. While we integrated our internal lightweight CPU profiler to get an insight about what happens on CPU, GPU remained a black box for our automated tests. But then Mobile Studio Professional came to the rescue. It seamlessly integrated into our CI workflow and brought with it two very valuable enhancements:
Pavel Busko, Tech lead at MS-1, Wargaming.
Part of the job of truly equipping game developers with easy-to-use tools to make their applications more efficient is of course raising the general level of awareness of what impacts performance. This includes more education around some of the underlying principles of graphics hardware operation, effects on the API, and other challenges specific to mobile game development. We have released a regular flow of educational content, exploring three main themes, including the fundamentals of the Mali GPU Architecture, API best practices and advice for adopting helpful tools and workflows. These educational materials show how the tools help developers put these theories into practice when optimizing graphics. Our Gaming and Graphics and Arm Mobile Studio Developer pages are two great resources to visit to keep up to date with all of that content. What is also worth noting is that we regularly deliver tailored training to individual game studios. This approach provides the most effective learning experience and allows technical artists to seek game-specific advice about graphics efficiency and where to optimize. If you would like to arrange a training session with your team, you can email: mobile-studio-marketing@arm.com.
The tools training helped us all appreciate how some of the seemingly small design decisions for some of our new upcoming games can have a huge impact on the frame rate and device power consumption. We were also able to dedicate valuable time to ensuring we had all the right inputs for our automated testing going forward, and to help us reinforce our build pipelines. Djordje Djurdjevic, Software Engineer, Nordeus
The tools training helped us all appreciate how some of the seemingly small design decisions for some of our new upcoming games can have a huge impact on the frame rate and device power consumption. We were also able to dedicate valuable time to ensuring we had all the right inputs for our automated testing going forward, and to help us reinforce our build pipelines.
Djordje Djurdjevic, Software Engineer, Nordeus
For a high proportion of game developers, the ideal way to optimize games most intuitively would be to do so without leaving the development environment. We are working with some of the most popular development engines to make this possible. As an example, in August 2019 Arm entered a partnership with Unity to improve gaming performance on the billion-plus Arm-powered mobile devices by default. For the tools team, the partnership has allowed us to extend the reach of the various themes of our general developer education, making this accessible in the Unity partner page and other channels.
Another important goal here though is to help Unity users avail of Arm’s performance analysis resources and expertise seamlessly through the Unity engine and tools. Indeed, some of our improvements to the features and usability of Arm Mobile Studio ensures the simplest workflow for Unity developers working in the engine.
Partnering with Arm Mobile Studio has helped us achieve our artistic vision by providing detailed insights on how to efficiently get the most out of the hardware. What’s great is that we’ve had insight into the roadmap and tools we can trust, giving us confidence in meeting the growing demands of our content. Torbjörn Söderman, Studio Technical Director at King
Partnering with Arm Mobile Studio has helped us achieve our artistic vision by providing detailed insights on how to efficiently get the most out of the hardware. What’s great is that we’ve had insight into the roadmap and tools we can trust, giving us confidence in meeting the growing demands of our content.
We have real success to celebrate in having developed a suite of tools which is truly designed with games developers in mind. Game developers are reporting some great efficiency wins since having easier access to performance insights and can plug the data into their CI to make analysis both continuous and scalable. In the exciting months ahead, we will keep moving forward in our steps towards making optimization tools and workflows intrinsically aligned to the way you work. We will also continue with our goal to reach well beyond the performance experts in the game studios with both tools and advice. We are working right now to develop a new feature in our tools called Frame Advisor. The feature will provide frame by frame performance visualization and exportable reports for the whole development team. We will keep working on this, so please do to get in touch if you would like to be involved in our beta testing.
In the meantime, we encourage your teams to download Arm Mobile Studio, tell us your view and let us know if you need help. The future will present new challenges as we integrate new complex technologies into mobile games, so the need for optimization will intensify. As an industry, through collaboration and by challenging the limitations, we can master this performance level and get it into the very best place for the gaming experiences of the future.