Millions of people worldwide enjoy cross-platform gameplay. However, this is challenging for game developers who have to spend more time and effort adjusting their content for desktop, console, and mobile. To make developers' lives easier, Arm partnered with Tencent Games, revealed a new evolving rendering technology called NanoMesh at Game Developer Conference (GDC) 2024. With the arrival of NanoMesh, platform-specific techniques previously needed for high-poly mesh modeling in mobile game development have been hugely simplified. This is also leading to very promising performance on mobile with the Adaptive Culling algorithms built in NanoMesh. A tech demo with a scene complexity exceeding 140 million triangles can be rendered at nearly 120 FPS on 2023 flagship smartphones.
A screenshot of 100+ million polygons on a smartphone with global illumination.
NanoMesh is tightly coupled with SmartGI (Tencent cross-platform global illumination solution). The whole project started from a simple goal: reshape the rendering pipeline on mobile to optimize runtime performance and simplify the workflow of content creation.
While seamless rendering is already common on desktop, today’s mobile game developers are still facing traditional workloads, like light baking and manual level of detail (LOD) setup. It is not only a long and painful process, but also provides a significant risk of introducing human errors with hundreds and thousands of parameters.
Tencent Deferred+ Rendering Pipeline with SmartGI and NanoMesh
Above is the conceptual flowchart of the Tencent NanoMesh rendering pipeline. Whereas cluster generation takes place during the offline stage, there are many adjustments made for maximizing the performance on mobile.
Auto LOD function(level) = floor(pow(base, level)) while base = 2,..max_base
We have seen more conservative approaches on desktop only considering the screen space size of meshes after a simple projection. All of them lack the flexibility for customized LOD implementations. On the other hand, NanoMesh is based on attenuation formulas relevant to the values of both power consumption and camera distance. This allows us to maintain far better details when objects are moving closer, or quickly switch to use coarser clusters when they are moving far away. The outcome is a perfect balance between performance and quality.
With traditional LOD methodology, the example package size is 1.8 GB, and now it only takes 557 MB on disk with NanoMesh. This means 70 percent smaller and 70 percent faster for downloading. If we look at the size of pure mesh data, NanoMesh only uses roughly 16 percent of the total storage to achieve the same visual quality.
"SmartGI and NanoMesh are cutting-edge technologies to make it possible to build the game when and deploy it everywhere. Achieving the best possible quality with affordable cost and performance budgets is now utterly important to the gaming industry. Tencent Games is committed to pushing forward the forefront of tools and methodologies in this domain with the support from Arm. We are more open to partnerships than ever before and we are delighted to share our findings with studios world-wide."- Congbing Li, Deputy General Manager of the R&D Efficiency and Capability Department, Tencent Games.
It has been a long journey for Arm and Tencent Games to get where we are today. Starting in 2020 as the first attempt to enable tile-based deferred shading pipeline on mobile. Then we delivered a mobile GI solution with ray query acceleration last year, and now the latest chapter - NanoMesh. Looking into the future, we will focus on bandwidth optmization, simplifying geometry pass, and using less draw calls. Perhaps more importantly, making it ready for skinned skeletal meshes. This will certainly open a new era for character animation in mobile gaming.