Last summer, we announced an early-access program for Arm® Accuracy Super Resolution (Arm ASR), a mobile-optimized temporal upscaling technique derived from AMD's Fidelity Super Resolution 2 v2.2.2. Arm ASR extends this technology with multiple optimizations to make the technique suited for the more resource-constrained environment of mobile gaming.
Super-resolution techniques render frames at a lower resolution and use shader upscaling to reconstruct how the frames should look at native resolution. This offers significant performance and battery life improvements for mobile devices.
This week at GDC, we are making Arm ASR available through our open-source experience kit. It includes an Unreal Engine plug-in, a generic library to integrate into custom engines, and there will be a Unity plug-in coming later in the year. With Arm ASR you can easily improve frames per second, enhance visual quality, and prevent thermal throttling for smoother, longer gameplay.
Check out our Manga comic explainer for an overview. We have also published a learning path tutorial which provides all the details about how to install and use Arm ASR.
Super-resolution is about doing more with less, getting that extra performance uplift while keeping the current level of quality. Instead of rendering your frame at the target resolution, super-resolution techniques render the whole frame at a lower resolution. Then shader upscaling is used to reconstruct how the frame should look at native resolution.
You can control the level of super-resolution applied. For instance, a 1.5 upscaling ratio per dimension and a target resolution of 1080p means you are doing about 45% of the original work. A x2 upscaling ratio reduces this to 25%. So, as you can see, this is a powerful tool, especially for mobile devices where bandwidth usage significantly affects performance and battery life.
It is important to understand the workload in your content and how it might scale with changes to resolution. For instance, applying Arm ASR to CPU-bound content might not show immediate frame rate improvements but it can reduce GPU work and therefore save battery usage. Similarly, geometry-bound content may not show instant performance gains but can significantly save bandwidth. In general, Arm ASR is most effective with games that use high-quality features that stretch the performance capabilities of everyday smartphones.
You can control how Arm ASR is applied to your game using the following settings:
At Arm, we are constantly looking at how graphics and mobile content will evolve in the future. This helps us to anticipate the needs of the ecosystem and ensure that our GPUs can offer the best possible experience to graphics creators.
We collaborate with OEMs, game engine vendors such as Epic Games, and directly with game developers. We listen to everyone involved at different levels and we use that feedback to produce high-end demos that push the limits of the latest mobile devices.
Mori has been developed in-house using Unreal Engine 5.4. It uses the experimental high-end renderer on mobile (also known as SM5 renderer) which enables console-quality graphics techniques on mobile devices. Mori includes:
These features really stretch the legs of the latest GPUs, without compromising on visual quality, so this demo is a great candidate for optimization with Arm ASR.
As you can see from this video, the visual quality with Arm ASR applied is almost identical to the original scene, but it is being rendered at just ¼ of the resolution. This is done using x2 per-dimension upscaling with Arm ASR. For some scenes, we even see quality enhancements using Arm ASR, particularly for thin geometry.
Because each piece of content is different, it is important to do some performance analysis to see the effects of any kind of upscaling technology. We recommend using Arm Performance Studio, our free suite of performance analysis tools. These tools can help you evaluate how your content performs on a connected device and provides comprehensive charts and data to identify performance problems.
Performance analysis was conducted on this scene using a recent device equipped with an Arm Immortalis-G720 GPU.
The device's target resolution was 2800x1260. When rendering at full resolution, our base framerate is 19FPS. We applied the following upscaling with Arm ASR:
We get a 17% uplift for 1.5x, 33% for 1.7x and a staggering 87% performance uplift when using 2x upscaling. With Arm ASR enabled, the frame rate increased from 19 FPS to 36 FPS in this scene.
The Arm ASR experience kit is a combination of materials that provide access to the technology, to help you evaluate it and make the best use of it. The kit includes:
The Arm ASR Experience kit is now available fully open source under a relaxed MIT license.
Get Arm ASR