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 Query on FPK Occluder
  • Mali GPU (Valhall Architecture)
  • arm streamline
0 votes 2644 views 1 replies Latest 21 days ago by Peter Harris Answer this
Answered Zero Copy Buffers using cl_arm_import_memory extension in OpenCL 1.2 - arm mali midgard GPUs.
  • Midgard
  • Mali GPU (Midgard Architecture)
  • Mali OpenCL SDK
0 votes 23087 views 8 replies Latest 24 days ago by willhua Answer this
Answered Register spilling for different threads count
  • OpenCL
  • Registers
  • Mali GPU (Bifrost Architecture)
1 votes 2435 views 4 replies Latest 25 days ago by Kévin Petit Answer this
Answered Mali Core Unit Utilization graph in Streamline not adding up to 100%
  • arm streamline
  • Bifrost
  • Arm Mobile Studio
  • Mali-G76
1 votes 2861 views 3 replies Latest a month ago by Peter Harris Answer this
Answered Performance Advisor errors
  • Mali GPU (Valhall Architecture)
  • Performance Reports
  • Mali GPU (Bifrost Architecture)
0 votes 2510 views 1 replies Latest 1 months ago by Peter Harris Answer this
Answered Querying per vertex varying buffer limit in Vulkan 0 votes 3050 views 2 replies Latest 1 months ago by speedym Answer this
Answered Query on FPK Occluder Latest 21 days ago by Peter Harris 1 replies 2644 views
Answered Zero Copy Buffers using cl_arm_import_memory extension in OpenCL 1.2 - arm mali midgard GPUs. Latest 24 days ago by willhua 8 replies 23087 views
Answered Register spilling for different threads count Latest 25 days ago by Kévin Petit 4 replies 2435 views
Answered Mali Core Unit Utilization graph in Streamline not adding up to 100% Latest a month ago by Peter Harris 3 replies 2861 views
Answered Performance Advisor errors Latest 1 months ago by Peter Harris 1 replies 2510 views
Answered Querying per vertex varying buffer limit in Vulkan Latest 1 months ago by speedym 2 replies 3050 views