Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Smart Homes
    • Tools, Software and IDEs blog
    • Works on Arm blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Graphics, Gaming, and VR blog Easier Android profiling with Arm Mobile Studio 2020.3
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tell us what you think
Tags
  • Android
  • optimization
  • Profiling
  • Arm Mobile Studio
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Easier Android profiling with Arm Mobile Studio 2020.3

Peter Harris
Peter Harris
January 11, 2021
4 minute read time.

We have just released Mobile Studio 2020.3, our suite of profiling tools for Android application development. This is a milestone release, delivering the final piece in a set of quality-of-life improvements we have been talking about since launching the Studio at GDC 2019.

Device connectivity: Click-and-go

Up until now, Streamline and Graphics Analyzer have relied on helper scripts to set up the connection to the target device. These scripts allow the user to specify the target application to be profiled, push our tooling components to that application’s data directory, and perform any other device configuration needed for that tool. They have served as a useful stopgap. It is far easier to use the script than run the commands by hand, but we appreciate that forcing users to run command-line scripts was far from an ideal experience.

Well, no more. In this release developers using the host tool can simply select their application from a list of debuggable applications in the host tool GUI, and click to connect. No more terminal windows and no more scripts, at least for interactive use. See the new flow in action here:

One app build to rule them all

The Vulkan API was designed with the concept of tooling layer drivers – API interceptors that can be injected between the application and the underlying graphics driver to add API-aware tooling functionality. Android 10 extended this support to add layer drivers for OpenGL ES, which is a fantastic addition that really makes developing OpenGL ES tooling easier and more reliable. All of our tooling for Android 10 onwards now implements API monitoring using these standard layer driver mechanisms.

The challenge here is supporting older Android devices – most developers we talk to are still targeting devices running Android 8 and 9 for their game minimum requirements. In earlier Mobile Studio releases this causes a fork in the workflow for Graphics Analyzer, requiring the user to make two application builds. Profiling an OpenGL ES application on Android 9 or earlier requires the application build to integrate our interceptor library into the application at build time. Profiling on Android 10 or later requires that the application does not do this and uses the layer approach. Having to manage two builds, and remember to pick the right build for the device you are profiling on, is a hassle we thought you could all do without.

In this release of Graphics Analyzer, we are pleased to announce that there is no longer a need to integrate any GA components into your application at build time. All you need is a debuggable application build. We will use layer drivers in Android where we can, but if that is not available, we can now inject the OpenGL ES layer at runtime using the Android debug interface. From a user point of view, you now need only manage a single build configuration, no matter what you are doing.

Mali GPU configuration in Streamline

For this release we’ve exposed some more information about the Mali GPU configuration of the target device, and these are now available as variables in custom expressions.

  • $MaliConstantsShaderCoreCount : the number of shader cores implemented
  • $MaliConstantsL2SliceCount : the number of L2 cache slices implemented
  • $MaliConstantsBusWidthBits : the width of the GPU’s memory bus interface

The Mali GPU templates have been updated to use these where appropriate, which corrects one long-standing graphing bug for Mali GPU stall rate. On earlier releases large Mali configurations with multiple L2 cache slices would over-state the stall rate, as it was being scaled by the slice count. Now it is being correctly normalized.

Flexible Performance Advisor reports

Our Performance Advisor reports have been designed to focus on the critical performance metric for graphical workloads, allowing developers to focus on the important behaviors and avoid getting swamped in detail.

In previous releases, we only supported a fixed report, showing our hand-picked metrics. We have had a number of requests for more (or fewer) charts in these reports, so this release allows developers to use a custom chart template that can select any of the counters available in the Streamline capture.

Mali Offline Compiler with less typing

This release sees some minor, but useful, quality-of-life improvements for the Mali Offline Compiler.

Compiling Vulkan shaders from a SPIR-V binary now requires considerably less typing. The tool can now automatically identify that the input file is a SPIR-V binary, as well as the shader type and entry point name that binary uses. This command in 7.2:

malioc --spirv --vertex -n foo .\samples\vulkan\shader-entrypoint-foo.vert.spv

… becomes just this in 7.3:

malioc .\samples\vulkan\shader-entrypoint-foo.vert.spv

In addition, we have made some improvements to make it easier to integrate Mali Offline Compiler into multi-tool pipelines. You can now specify “-” as an input file, which will tell the tool to read from stdin, rather than a file on disk. You can now specify “-o/--output” as an output file, which will tell the tool to write to a file on disk, rather than stdout.

More supported devices

For this release we have also bought and tested two more devices, which have been added to our supported devices page (https://developer.arm.com/mobile-studio/devices):

  • Samsung Galaxy A51, with the Samsung Exynos 9611 chipset.
  • OPPO Reno3 5G, with the MediaTek Dimensity 1000L chipset.

More ASTC compression performance


Outside of Arm Mobile Studio we are also happy to announce the release astcenc 2.2, the latest version of our ASTC texture compressor. Highlights for this release includes:

  • More compression performance.
  • Library API improvements to simplify image passing.
  • CLI image preprocessing operations for normal map normalization and premultiplied alpha color channels.
  • Binary releases for macOS running Apple silicon.

For more information see the release GitHub release page.

More information

Keep up date with the latest tools news, blogs, and training materials using our latest news stream.

Download Arm Mobile Studio 2020.3

Anonymous

Top Comments

  • Yury Habets
    Offline Yury Habets over 2 years ago +1
    > In this release developers using the host tool can simply select their application from a list of debuggable applications in the host tool GUI, and click to connect. No more terminal windows and no...
Parents
  • Yury Habets
    Offline Yury Habets over 2 years ago

    > In this release developers using the host tool can simply select their application from a list of debuggable applications in the host tool GUI, and click to connect. No more terminal windows and no more scripts, at least for interactive use

    Thank you Pete! That's a long-waited improvement :)

    • Cancel
    • Up +1 Down
    • Reply
    • More
    • Cancel
Comment
  • Yury Habets
    Offline Yury Habets over 2 years ago

    > In this release developers using the host tool can simply select their application from a list of debuggable applications in the host tool GUI, and click to connect. No more terminal windows and no more scripts, at least for interactive use

    Thank you Pete! That's a long-waited improvement :)

    • Cancel
    • Up +1 Down
    • Reply
    • More
    • Cancel
Children
No Data
Graphics, Gaming, and VR blog
  • Performance analysis with Arm Mobile Studio

    Julie Gaskin
    Julie Gaskin
    In part 3 of Arm’s Mali GPU training series, learn how to analyze the performance of a mobile game with Arm Mobile Studio, our free-to-use performance analysis tool suite.
    • December 5, 2022
  • Best practice principles for mobile game development

    Julie Gaskin
    Julie Gaskin
    Part 2 of Arm's free Mali GPU training for mobile graphics developers. Here, we present the latest best practice recommendations to get the best from devices with Mali GPUs.
    • November 26, 2022
  • Best practices to resolve typical multi-context rendering issues

    Fred.Li
    Fred.Li
    Read the best practices for application that have multi context render operation with Mali CSF based GPUs.
    • November 24, 2022