Arm Mali technologies have been developed to allow ever-increasing graphics complexity within the thermal limits of mobile devices. These technologies provide significant system-wide bandwidth savings across all formats, to ensure that end users can experience the latest in graphics quality on any device.
This guide contains a comprehensive collection of resources develop by Arm and others to help developers optimize their applications for Arm Mali technology.
Whether developing for a proprietary game engine, or a commercially available one like Unity or Unreal Engine, these resources will provide you with techniques and best practices that you can use to improve the performance of your applications.
If you are new to developing for Mali, use these resources to learn the basics of Mali software development:
- Principles of High Performance
- Understanding Render Passes
- Understanding Pipelining
- Understanding Tile-Based Rendering
- The Midgard Shader Core
- The Bifrost Shader Core
- Mali FAQs provide answers to frequently asked questions.
- The Mali GPU Best Practices Guide provides recommendations for efficient API usage.
- Learn about the development tools for graphics and compute applications that Arm provides. These applications help you to deploy graphics applications and content on Mali GPU based systems.
- Some Arm training courses cover Mali software development, including Arm Mali Graphics Software Development.
- Arm Community provides a Graphics and Multimedia forum. On this forum, you can ask questions, collaborate on projects, and discuss the latest Mali tools, drivers and development platforms.
- Use Performance Advisorto generate an easy-to-read performance summary from an annotated Streamline capture, and get actionable advice about how to optimize your game or app.
- Use Streamline to capture a performance profile for deep-dive analysis, using all of the performance data in the system. Measure peaks in performance for the CPU, GPU and bandwidth and then see which code was being executed during that time.
- Use Graphics Analyzer to debug Open GL ES and Vulkan API calls in your application, to identify rendering defects and investigate problem scenes to improve performance. Analyze overdraw, shaders, textures and fragment counts, draw call by draw call.
- Use Mali Offline Compiler to check how your shader programs would perform on a range of Mali GPUs. Get an approximate cycle cost breakdown for the major functional units in the design.
If you are familiar with the basics, these additional resources will be useful:
Arm also provides Arm Mobile Studio, a suite of graphics development tools to help developers get the best out of their applications.