Frequently Asked Questions

These are some of the frequently asked questions (FAQ) that we usually get from developers. If you can't find solutions to your questions here, please visit Arm's Graphics and Multimedia Community where you can ask questions to our experts. 


About Arm Mali FAQs

What is Mali?

Arm Mali media IP offers high performing, energy efficient media processing across a large and growing number of mobile and consumer devices, including entry-level mass market smartphones, visually stunning high-performance smartphones, Android™ OS-based tablets, SmartTVs and wearables. 

What is Bifrost, Midgard and Utgard?

Bifrost, Midgard and Utgard are the different types of graphics architecture in Mali GPUs:

Bifrost
Arm’s latest architecture. Features in Mali-G7x and Mali-G5x series GPUs.

Midgard
Previous-generation architecture. Features in Mali-T8xx, Mali-T7xx and Mali-T6xx series GPUs.

Utgard
First-generation architecture. Features in Mali-4xx series GPUs.


Mali Technologies FAQs

Why should I use Adaptive Scalable Texture Compression?

Adaptive Scalable Texture Compression or ASTC is a major step forward in terms of image quality, reducing memory bandwidth and thus energy use. It also offers a number of advantages over other texture compression schemes:

  • Flexibility, with bit rates from 8 bits per pixel (bpp) down to less than 1 bpp. This allows content developers to fine-tune the tradeoff between quality versus texture size and upload bandwidth.
  • Support for 1 to 4 color channels, with modes for uncorrelated channels for use in mask textures and normal maps.
  • Support for both low dynamic range (LDR) and high dynamic range (HDR) images.
  • Support for both 2D and 3D images.

ASTC specification includes two profiles: LDR and Full. Both of these are supported on the latest Mali GPUs. The smaller LDR Profile supports 2D low dynamic range images only. It is designed to be easy to integrate with existing hardware designs that already deal with compressed 2D images in other formats. The LDR Profile is a strict subset of the Full Profile, which also includes the 3D textures and high dynamic range support.

What are the benefits of Arm Frame Buffer Compression?

The Arm Frame Buffer Compression (AFBC) protocol reduces the overall system-level bandwidth and power cost of transferring spatially coordinated image data throughout the system by up to 50%. This enables increasingly complex SoC designs to be created within the thermal limit of a mobile device.

AFBC is a lossless image compression protocol and format, which minimizes the amount of data transferred between IP blocks within a SoC. The lossless compression ratios achievable with AFBC are comparable with other leading standards but with the added benefit of fine-grained random access, which importantly allows AFBC to be applied throughout other IP blocks within your SoC design.

AFBC is available in all Arm Mali Video Processors, Arm Mali Display Processors and recent Arm Mali Graphics Processing Units (GPUs). AFBC is also available as a licensable IP for use with other IP blocks in a system that uses an Arm Mali GPU or Arm Mali Video processor.

Arm Frame Buffer Compression has the following properties:

  • Lossless data compression
  • Random access down to 4x4 block level
  • Bounded worst-case compression ratios
  • Support for both YUV and RGB formats
  • Compression ratios comparable to other lossless compression standards
  • YUV compression ratio of typically 50%

Learn more about other Arm Mali Technologies

What are the key features of Transaction Elimination?

Transaction Elimination (TE) is a bandwidth saving feature of the Arm Mali Midgard and Bifrost GPU architectures which allows for significant energy savings on a System on Chip (SoC) level. When performing TE, the GPU compares the current frame buffer with the previously rendered frame and performs a partial update only to the particular parts of the frame that have been modified, thus significantly reducing the amount of data that needs to be transmitted per frame to external memory.

Some of the key features of TE are:

  • No impact to image quality
  • Agnostic of frame buffer format
  • Per tile comparison between frame buffers
  • 16×16 pixels tile size
  • CRC-based signature comparison

Virtual Reality FAQs

Which Mali GPUs support VR?

Mali GPUs are ideal for mobile VR. The Samsung GearVR, for example, utilises the Mali GPUs found in Samsung devices. Currently there are many Mali-based mobile Virtual Reality solutions in the market, using GPUs from Mali-450 up to Mali-G76.

Find out more about VR on Mali

Mali VR hub on the Arm Community

 

Graphics optimization FAQs

What is occlusion culling?

Occlusion culling is a technique for removing objects from a 3d scene based on their visibility to the camera and position in relation to other objects. It is an effective method of reducing the amount of objects rendered in a scene to improve graphics performance. Occlusion culling is implemented in most popular graphics engines and is an ideal technique for mobile devices. See our demo to find out more:

Occlusion Culling with Compute Shaders demo


Vulkan FAQs

What is Vulkan?

Vulkan® is a new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms. Find out more at www.khronos.org/vulkan.

Why should I consider using Vulkan?

Vulkan on mobile has many advantages over OpenGL ES:

  • Far more control of hardware resources – more explicit memory management, for example
  • Lower CPU overheads thanks to multithreading
  • Lower power consumption

Ability to exploit the capabilities of the latest mobile GPUs

See an example of these benefits in the demo video below, also check out the Vulkan hub page for the latest Arm news and resources on Vulkan.

How can I start using Vulkan?

The Mali Vulkan SDK contains all you need to get started with Vulkan development, including sample code and tutorials.
  Get the Mali Vulkan SDK

Mali Graphics Debugger allows you to debug your Vulkan application frame-by-frame and identify any possible issues.
  Get Mali Graphics Debugger

Which Mali GPUs support Vulkan?

The following Mali GPUs are Vulkan Conformant:

You can read the Vulkan Conformant Products page on the Khronos website for further information.


OpenCV FAQs

What is OpenCV?

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception.

The library has more than 2500 optimized algorithms, which include state-of-the-art computer vision and machine learning algorithms. These algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together and more.

Find out more about OpenCV at opencv.org


OpenGL ES FAQs

What is OpenGL ES?

OpenGL ES is a cross-platform API for full-function 2D and 3D graphics on embedded systems – including consoles, phones, appliances and vehicles. It consists of well-defined subsets of desktop OpenGL, creating a flexible and powerful low-level interface between software and graphics acceleration using the OpenGL ES shading language.

More about OpenGL ES at the Khronos website


Unity FAQs

What is Unity?

Unity Software offers a powerful graphics engine and full-featured editor, serving as the foundation to develop games or apps and easily bring them to multiple platforms: mobile devices, home entertainment systems, personal computers, and embedded systems. Unity Technologies serve millions of registered developers including large publishers, indie studios, students and hobbyists around the globe.

Check out Arm's Unity hub for the latest info and resources

Visit the Unity website 

To see more projects check out the MadeWithUnity website

What are the differences between Unity and Unreal Engine?

Although either can be used to create stunning mobile games and applications, Unity and Unreal Engine work in different ways with different workflows, terminologies and tools. Some developers prefer to use one, some the other. It is best to think about the way that you work and perhaps try both to see which suits your requirements.

Whichever you decide to develop with, you will be able to achieve high-quality graphics in mobile games running on Mali GPUs!


Unreal Engine FAQs

What is Unreal Engine?

Epic Games’ Unreal Engine is a complete suite of game development tools.  From simple 2D mobile games to console blockbusters and VR, Unreal Engine gives you the power to develop your games. Unreal Engine technology is found in hundreds of games as well as real-time 3D films, training simulations, Architectural visualizations and more. Whether you're building a mobile app, a console game, or a high-frame rate VR experience, Unreal Engine 4 gives you the power to stand out. 

Get Unreal and get going for free at Unreal Engine

What are the differences between Unreal Engine and Unity?

Although either can be used to create stunning mobile games and applications, Unity and Unreal Engine work in different ways with different workflows, terminologies and tools. Some developers prefer to use one, some the other. It is best to think about the way that you work and perhaps try both to see which suits your requirements.

Whichever you decide to develop with, you will be able to achieve high-quality graphics in mobile games running on Mali GPUs!