[null,null,["最后更新时间 (UTC):2025-03-05。"],[],[],null,["# Netmarble Games: Optimizing Performance with ADPF\n\nNetmarble: Game of Thrones series logo Netmarble: battle scene Netmarble: battle scene with field boss Drogon\n\nNetmarble, a leading mobile game developer, developed\n[Game of Thrones: Kingsroad](https://gameofthrones.netmarble.com/en/) (coming soon to Android), an action-adventure\nRPG based on the Emmy® Award-winning and Golden Globe® winning Game of Thrones\nseries. They encountered performance challenges, specifically thermal\nthrottling, while running the game on Android devices, impacting sustained\nperformance and user experience. To address this, they strategically leveraged\nthe [Android Adaptive Performance Framework (ADPF)](/games/optimize/adpf) and implemented\noptimizations focused on resolution scaling and dynamic frame rate adjustment.\n\nChallenge\n---------\n\nHigh-fidelity mobile games demand significant GPU and CPU resources, often\nleading to excessive heat generation and thermal throttling on Android devices.\nNetmarble observed that prolonged gameplay sessions resulted in increased device\ntemperature, causing performance degradation, including frame rate drops and\ninconsistent performance. The core challenge was maintaining a visually\nengaging experience while effectively managing device temperatures to avoid\nthrottling and ensure sustained performance.\n\nSolution\n--------\n\nNetmarble adopted a data-driven approach to use ADPF, focusing on dynamic\nadjustments based on real-time thermal status.\n\n### Identify Performance Bottlenecks\n\nNetmarble conducted a meticulous performance analysis, measuring the impact of\nvarious graphics quality settings on both frame rates and thermal load. This\nanalysis revealed that resolution scaling had the most significant impact on GPU\nload and thermal output, without severely impacting frame rates. Importantly,\nthey found that other graphics options (shadows, textures, etc.) had a\ncomparatively minimal impact on overall thermal performance.\n\n### Dynamic Resolution Scaling\n\nNetmarble added a dynamic resolution system. It changes the game's image quality\nbased on the device's temperature, using the ADPF Thermal API. This lets the\ngame adapt to different conditions. When the device is cool, the game uses a\nhigh resolution. If the device gets too hot, the game lowers the resolution to\nreduce heat.\n\n### Adaptive Frame Rate Adjustment\n\nIn conjunction with resolution scaling, Netmarble implemented dynamic frame rate\nadjustments.\nIf the game's target FPS is set to 60, the system can gradually reduce the\ntarget FPS when excessive heat is detected.\nWhile avoiding the thermal issues, Netmarble set the minimum scalable FPS to 30.\nThis ensured a consistent gaming experience. Additionally, the system is\ndesigned to gradually increase the FPS back to the target when heat decreases,\nmaintaining optimal performance.\n\nResults\n-------\n\nThe implementation of dynamic resolution scaling and adaptive FPS adjustments,\ndriven by ADPF, resulted in significant improvements in thermal management and\nsustained performance.\nNetmarble: performance comparison\n\n- **Improved Thermal Headroom:** ADPF reduced average thermal headroom from 1.04 to 0.92 (11% reduction), preventing performance degradation and enhancing device longevity. The thermal headroom value never exceeded 1.0, hence preventing device overheating.\n- **More Consistent Frame Rates:** ADPF delivers a smoother gaming experience by intelligently adjusting the game's target FPS based on the device's thermal state. Without ADPF, the game's FPS could fluctuate significantly (e.g. from 40 to 56) due to thermal throttling. This inconsistent frame rate, caused by the device struggling to manage heat, can lead to a jarring and unpleasant gameplay experience. With ADPF, the game proactively reduces the target FPS as needed to prevent excessive heat buildup, ensuring a more stable and consistent frame rate, typically within the 50-60 FPS range. This prevents the abrupt frame drops associated with thermal throttling, resulting in a significantly improved and more enjoyable player experience.\n- **Preserved High-Quality Graphics:** By prioritizing resolution scaling as the primary adjustment mechanism, Netmarble minimized the visual impact of thermal management, keeping other settings (textures, effects, etc.) at higher levels.\n\nConclusion\n----------\n\nBy focusing on resolution scaling and dynamic FPS adjustments guided by ADPF,\nNetmarble successfully mitigated overheating issues in Game of Thrones:\nKingsroad while preserving an optimal balance between performance, visual\nquality, and user experience. Their strategic use of ADPF highlights an\neffective approach for mobile game developers facing similar challenges. ADPF\nenabled a more reliable, enjoyable, and consistent experience, allowing players\nto play longer with fewer frame drops and reduced concerns about device\noverheating.\nWith this solution in place, Netmarble continues to deliver high-quality gaming\nexperiences while ensuring optimal device performance and longevity.\n\nGet started with ADPF today in Unity, Unreal and C++\n----------------------------------------------------\n\nDevelopers who are interested in using Android Adaptability should do the\nfollowing:\n\n- Learn more about [ADPF](/games/optimize/adpf), the [Unreal Engine ADPF plugin](https://github.com/android/adpf-unreal-plugin), and the [Unity Adaptive Performance Android provider](https://docs.unity3d.com/Packages/com.unity.adaptiveperformance.google.android@5.1/manual/index.html).\n- Utilize ADPF with the default [Unity quality levels](https://docs.unity3d.com/Manual/class-QualitySettings.html) and [Unreal Engine scalability](https://dev.epicgames.com/documentation/en-us/unreal-engine/scalability-reference-for-unreal-engine).\n- Monitor the performance of the game to ensure that it is meeting expectations. Experiment with different settings - resolution, frame rates, shadows, textures, etc - to find the best performance and minimal thermal increase.\n- Change graphic quality settings separately to reduce sudden performance decreases.\n\nRegardless of which engine you use, you can always choose to use the APIs\ndirectly. Learn more at [Android Adaptability](/games/optimize/adpf) and\n[Unreal Engine ADPF plugin](https://github.com/android/adpf-unreal-plugin)."]]