[IOS Game Overheating Issue]

Friends, we have a really big problem.

We just released our game, and unlike the Android version, we’re getting feedback that the game overheats excessively on iOS.

The core logic is the same, but the problem only occurs on iOS.

Here’s the current screen built with Xcode. As you can see, the battery impact is marked as very high.

The shocking thing is… even if we build a new empty project, the battery impact still shows as very high on iOS…

We are currently using Cocos Creator version 3.8.1, and our development device is a Mac Mini M2.

We need advice on this issue.

To summarize:

1.	Why does the overheating occur on iOS but not on Android?
2.	What should we modify to reduce the overheating?

→ Of course, we’ve used image batching and image compression, so we don’t think that’s the issue.

We’re really in a tough spot right now. Help us, friends!

I hope this translation helps! If you need any more assistance, feel free to ask.

The difference between iOS and Android is that, iOS doesn’t support JIT. I am not sure if it is the main problem.

Did you tested with release mode?
Did you disable metal validation?

I think it is better that you can profile it first to find the bottle neck.

Is it the 3D version or 2D version of Cocos? I’m getting ready to launch a box2D game with the 2D engine (a few features culled) and not noticing any heat up in extended play tests.

Hello All,
We are also facing the same issue using cocos creator 3.8.3 in our 2D game where the battery consumption in iOS is too high due to high CPU usage even when the game is idle. We are not using any physics as well.
We have checked disabling metal validation and in release mode but not much difference in them.

Any help would be appreciated.

We’re seeing this as well after updating to .3. Very high battery usage and very poor performance.

Any update on when we can expect it to be fixed?

We are experiencing significant performance issues on iOS devices, with poor FPS and high battery consumption. Upon profiling, we discovered the following:
• The frameMove function consumes about 25% to 50% of the total execution time.
• Handling of touch events accounts for significant execution time.
We are curious to know if any performance improvements have been made since then, particularly for iOS builds


These issues are likely from iOS’s restriction on Just-In-Time (JIT) compilation, leading to slower JavaScript execution compared to platforms that allow JIT (such as Android).

Also curious to know how much of a performance difference can be expected with JIT enabled versus without it.


Any suggestions about optimisations or workarounds to improve the performance would be appreciated.

1 Like

Is there a GitHub issue for this? We should track it there so more CN developers can see.

posted in github as well:IOS Game Overheating Issue · Issue #17627 · cocos/cocos-engine · GitHub

Please take a screenshot of your engine module settings panel, I want to know which engine modules you are using?

Please provide the model of the test phone. Additionally, regarding your feedback about excessive battery consumption in empty scenes in version 3.8.3, after my testing, I was unable to reproduce the issue. My test device is an iPhone XR running iOS 18.0.1.

I hope you can provide a demo so that I can test the issue you encountered.

What rendering pipeline are you using?

Hello @zzf_Cocos , Sorry for the late reply.
Here is the screenshot of the engine module setting.



We are using the default render pipeline.

We tested using iPhone XR with iOS - 17.6.1
Here is the project with just few sprites we used - NewProject.zip (8.5 MB)

Just after 2-5 mins the energy impact goes to very high.

@zzf_Cocos, @zhangxm Do you see any potential causes for this issue? Any suggestions you could offer to address this concern would be much appreciated.

This issue is really important. In the case of the game we are currently developing, the CPU usage is in the 20% range and the battery efficiency is good on Android devices released 3 years ago, but in the case of iOS, the CPU usage is in the 80% range regardless of the device and the battery efficiency is very bad. It is the same resources and the same logic. Is it more difficult to optimize for iOS?

When I checked the details (XCODE profiler), the load was extremely heavy in Render. In particular, when showing about 10 spine files at the same time, the CPU usage went up to over 60% (based on version 3.8.3, iPhone 14). In the same environment, the CPU usage of low-spec Android devices is less than 20%.

We will take a look. I think it is because there is not jit on iOS.