Optimization on Arm Mali GPUs

Optimization is a key component of development on GPUs so that developers can efficiently run applications and games on devices. For graphical applications, optimization usually means modifying an application to make it more performant. A low frame rate means that the application appears jumpy and can make games applications unsatisfactory for the end user. Various optimization practices can improve applications, which in turn makes using the application a better, smoother experience. The following examples are of various types of optimizations:

  • Increase the frame rate
  • Make content more detailed
  • Reduce power consumption
  • Use less memory bandwidth
  • Use fewer clock cycles per frame
  • Reduce memory footprint
  • Reduce download size

The following resources can help you optimize an Arm Mali GPU:

Arm Mobile Studio

Download the free-to-use tool suite for optimizing high-end content for Arm-based Android devices, including on 64-bit and multiprocessor. It brings easy set-up and clear performance analysis across both CPU and GPU, eliminating bottlenecks relating to your system and graphics.

Learn more

Graphics Development Tools

A range of development tools to help with the deployment of graphics applications and content on Mali GPU-based systems. The tools generally work on Windows, Linux, and Mac OS X, and will work with any Arm Mali GPU-based system running Linux or Android.

Learn more

Developer guides and learning resources

  • Orange Speech Bubble Icon
  • Arm Mali developer guides

    View the complete selection of developer guides including the introductory guides to the Arm Mali GPU, guides for artists, and more advanced guides. These include the Arm Guide for Unity developers, OpenGL ES 3.0 and 3.1, OpenCL and Renderscript best practices.

    Learn more
  • Ideas icon
  • Arm Mali best practices guide

    The Mali GPU Best Practices is a guide that is designed as a quick reference for development on Mali GPUs. It assumes that the reader is familiar with using the underlying APIs. This guide is also the main reference for the Vulkan best practices for mobile developers on GitHub.

    Learn more
  • Lightbulb icon in green colour
  • Artist best practices

    A collection of guides specifically for mobile game artists looking to optimize a game during production. Along with best practice, there are suggestions when working with both Unity and Unreal Engine.

    Learn more
  • Light blue coloured book icon
  • Vulkan best practices repository

    A collection of resources that are donated by Khronos members specifically for mobile game developers looking to build on their Vulkan knowledge. Including downloads and tutorials to get your started.

    Learn more
  • compiler icon in orange colour
  • Virtual reality best practices

    Arm Mali GPUs enable untethered, high-quality mobile VR. Learn the best way to develop for VR-specific applications on Mali, with tips on both Unity and Unreal Engine.

    Learn more
  • Yellow Virtual Reality icon
  • Working on Unity?

    Arm and unity have a partnership dating back to the beginning of mobile gaming. Check out all the resources for developing a game on unity based on an Arm platform.

    Learn more

Other resources

  • Green compute icon
  • Arm Mali SDKs

    Arm Mali software Development Kits are a collection of resources to help you build OpenGL ES, Vulkan, and Compute applications for Mali-based platforms.

    Learn more
  • Blue system validation icon
  • Development platforms

    Recommended development platforms that you can use when building, optimizing or testing your development on Mali-based platforms.

    Learn more

Get support

Arm training courses and on-site system-design advisory services enable licensees to realize maximum system performance with lowest risk and fastest time-to-market. You can open a support case by clicking the button below.

Arm training courses  Open a support case

Community Forums

Answered Porting a mali_egl_image* Utgard application to Midgard 1 votes 3256 views 10 replies Latest 3 days ago by Chris S Answer this
Answered MALI G76 MC4 Vulkan driver bug
  • Mali Kernel Device Drivers for GPU
  • vulkan
  • Mali-G76
3 votes 2021 views 5 replies Latest 10 days ago by Ben Clark Answer this
Answered FPS and few other capture data are not showing up on streamline for Vulkan builds
  • vulkan
  • arm streamline
  • Streamline Performance Analyzer
0 votes 2415 views 9 replies Latest 12 days ago by Rohan Ganapathy Answer this
Answered Lightweight interceptor overhead when capturing with Streamline
  • arm streamline
  • Arm Mobile Studio
0 votes 1597 views 1 replies Latest 13 days ago by Peter Harris Answer this
Answered Mali offline compiler - L/S cycles meaning
  • Mali Offline Compiler
0 votes 2635 views 4 replies Latest 23 days ago by JPJ Answer this
Answered 16bit float uniforms in OpenGL ES 3.x when using ARM Mali GPUs?
  • Mali OpenGL ES SDK for Android
  • OpenGL ES
0 votes 2029 views 2 replies Latest 24 days ago by speedym Answer this
Answered Porting a mali_egl_image* Utgard application to Midgard Latest 3 days ago by Chris S 10 replies 3256 views
Answered MALI G76 MC4 Vulkan driver bug Latest 10 days ago by Ben Clark 5 replies 2021 views
Answered FPS and few other capture data are not showing up on streamline for Vulkan builds Latest 12 days ago by Rohan Ganapathy 9 replies 2415 views
Answered Lightweight interceptor overhead when capturing with Streamline Latest 13 days ago by Peter Harris 1 replies 1597 views
Answered Mali offline compiler - L/S cycles meaning Latest 23 days ago by JPJ 4 replies 2635 views
Answered 16bit float uniforms in OpenGL ES 3.x when using ARM Mali GPUs? Latest 24 days ago by speedym 2 replies 2029 views