Adaptive Performance is a package from Unity that allows developers to fine-tune their games to improve the overall performance. This is important for developers, especially those creating games with complex workloads, as any performance issues can affect the gameplay and drain the device’s battery. Being able to identify any issues quickly, with minimal impact on the game’s development means developers save time, costs and, perhaps more importantly, get the game in the hands of the end-user quicker.
Adaptive Performance provides a number of out-of-the box features that shows how the game reacts to different mobile devices. Currently, this is only available on Samsung Galaxy mobile devices, like the S21 premium smartphone device that utilizes Arm’s CPU and GPU technologies. However, Unity is currently exploring the possibility of expanding Adaptive Performance to all mobile devices that use Android 12.
At GDC 2022, Arm will be showcasing Adaptive Performance in action via our own in-house AAA gaming title “The Amazing Adventures of Dr. Arm”. But, first, let’s explain how it works….
As described in this Unity blog, Adaptive Performance uses four key metrics to tweak game applications and improve performance in a controlled way. These are:
On top of this, there are different settings within Adaptive Performance that monitors the device’s thermal and power state and how it reacts to different games.
Firstly, Adaptive Performance’s integration with device simulator means developers can test various scenarios rather than waiting for the device to heat up before benchmarking tests. With the thermal settings in device simulator, developers can set the device to throttle or to send out a warning when throttling is imminent. Developers can also adjust levels and trends to positive, which indicates when the device is heating or even overheating. This is important as throttling or overheating affects the performance of games, limiting game time and leading to an uneven and slightly jarring gaming experience.
Secondly, the performance settings in Adaptive Performance allow developers to set any bottlenecks to the CPU, GPU or a target frame rate. Developers can also set CPU and GPU levels to simulate the frequency of their game’s performance. Again, this helps to establish any performance issues with games.
Both these settings affect how Adaptive Performance alters a game’s performance via Indexers and Scalers. Indexers is a system that keeps track of the device’s thermal and performance state and provides a quantified quality index. Meanwhile, Scalers represent individual features in the games, such as graphics and physics settings.
The in-house Arm gaming production – “Amazing Adventures of Dr. Arm” – is a medieval action-adventure role-playing AAA game where the player fights zombies, skeletons, and wraiths. “Dr. Arm” hails from the Mali Manga comics that Arm published for game developers to explain the inner workings of mobile GPUs in manga form. Due to the popularity of both comics, we chose to bring “Dr. Arm” to life through this game.
The actual demo at GDC 2022 will showcase an in-built game scene where the performance adapts to the ever-increasing complexity of “Dr. Arm” without throttling. There will be two smartphones demonstrating Adaptive Performance in action, both of which will be the new Oppo Find X5 pro smartphones that are powered by the MediaTek’s Dimensity 9000 featuring the latest Arm v9 CPU cores and Arm Mali-G710 GPU. One smartphone will have Adaptive Performance turned on and the other will have it turned off. This will demonstrate the benefits of Adaptive Performance through providing less heating, less throttling and a smoother sustained gaming performance. A frame counter will appear on each phone to show the difference in performance.
Post-processing can quickly become one of the most expensive parts of the frame to render. While not important to gameplay, they can add more ambience and enhance the art that the development team worked so hard on. Adaptive Performance provides the benefit of having the game’s post effects, but also scale back effects that are not needed in times of peak demand form the device. When throttling was imminent, we turned off effects in “Dr. Arm” that were included mostly to enhance the mood of the scene, but not impact gameplay greatly. Bloom, Depth of Field, SSAO, and motion blur are some great examples. These tweaks enabled significant performance improvements in the game.
There have been several specific elements in “Dr. Arm” that have been adapted, added or changed as a result of running Adaptive Performance on the game.
On the terrain of the game, Adaptive Performance was used to control the amount of foliage and clutter. There are two ways the system goes about doing this, one is lowering the draw distance on these elements. The second is the amount of grass and clutter. Combining these is a great way to lower the demand of the application and not interrupt gameplay.
When the mobile device was hot and throttling was imminent or happening, we scaled down the number of particles emitted, or for less visually impactful Emitters turned them off completely. When the action that was causing the device to throttle calms down, these particles turn back on, or scale back up.
Adaptive Performance showed that we could scale the game between 100 and 50 percent resolution. With shadow map resolution, this scale was between 100 and 15 percent. Both had limited visual impact on the game, but were massive savings!
On LOD bias, Adaptive Performance showed that we could scale the game between 100 and 40 percent. The less triangles that were rendered in the background, the more we can render around the player’s character, which is where their focus is.
On shadow distance in the game, Adaptive Performance showed we could scale between 100 and 15 percent. Meanwhile, for shadow quality, the scale was between 100 and 0 percent. In moments of high action, and high-performance demands, shadows being scaled back are very hard to notice. Another great way to lower workload without interrupting gameplay.
On Adaptive Performance, Arm works closely with Unity to provide technical information about the features and highlight its benefits to a wide game developer audience. In addition to the GDC demo, we will also be presenting at the event with Unity on Adaptive Performance and how developers can use it to optimize gameplay.
As noted at the start, Adaptive Performance used to be only available on Samsung Galaxy mobile devices, but this session will show how Arm and Unity are working to expand it across more mobile devices – like the new Oppo Find X5 Pro smartphone that will be showcased on the Arm GDC demo booth. The talk will present tips to game developers to help them balance frame rates, graphics and thermals, as well as the latest details on device simulator, samples and scalers.
David Berger, Senior Software Engineer from Unity, who will be co-presenting the talk, explains:
“Achieving high frame rates and rich graphics without thermal throttling can be difficult to manage. Adaptive Performance allows developers to tune their mobile game and balance that trade-off for the best gameplay experiences. The GDC talk will provide information about Adaptive Performance that can be applied by developers across all experience levels. “Unity is excited to be partnering with Arm to push Adaptive Performance, including technical information and its benefits across the game developer ecosystem. We are pleased to see so many developers playing around with Adaptive Performance and making vital tweaks to their game to improve performance and the overall gaming experience. Through “Dr. Arm”, Arm has shown how Adaptive Performance can help greatly, with many lessons that can be applied to other games in development.”
“Achieving high frame rates and rich graphics without thermal throttling can be difficult to manage. Adaptive Performance allows developers to tune their mobile game and balance that trade-off for the best gameplay experiences. The GDC talk will provide information about Adaptive Performance that can be applied by developers across all experience levels.
“Unity is excited to be partnering with Arm to push Adaptive Performance, including technical information and its benefits across the game developer ecosystem. We are pleased to see so many developers playing around with Adaptive Performance and making vital tweaks to their game to improve performance and the overall gaming experience. Through “Dr. Arm”, Arm has shown how Adaptive Performance can help greatly, with many lessons that can be applied to other games in development.”
To see the demo for yourselves and learn more about Adaptive Performance, then why not visit the Arm booth at GDC and attend the Adaptive Performance talk with Unity. These will provide plenty of opportunities to learn more about Adaptive Performance and access useful practical tips on how to improve gameplay across different game applications and mobile devices.
At GDC, the Arm booth is located at #S756 in the Moscone Center in San Francisco and the Arm Unity talk ‘Optimizing mobile gameplay with Adaptive Performance’ is taking place on Wednesday 23rd March between 11.30 and 12pm PT.
Learn more about Adaptive Performance in this Unity blog.
[CTAToken URL = "https://gdc.informatech.com/2022/registrations/Attendee?MCAID=77FB1CFE532B22840A490D45AdobeOrg" target="_blank" text="Register for GDC" class ="green"]