Hi guys,
Apple released ios 12 last week and all of a sudden, Unity’s memory usage is nearly double. I remember seeing an issue opened for this a while back but can’t find it any more.
Anybody know what’s going on?
Cheers.
Hi guys,
Apple released ios 12 last week and all of a sudden, Unity’s memory usage is nearly double. I remember seeing an issue opened for this a while back but can’t find it any more.
Anybody know what’s going on?
Cheers.
We’ve noticed this while iOS 12 was still in beta and are working with Apple to find a fix it but we can’t give any estimates for it yet.
You can track this issue’s status here https://issuetracker.unity3d.com/product/unity/issues/guid/1051687/
Thanks Paulius! That links broken for me though
Cheers
sorry about that, it should work now.
@_Paulius Is there any temp fix, we are trying to soft launch but any device on iOS 12 crashes. We are on 2017.4.2f2
Is there any update on this?
@_Paulius one more time, is there any update on this, or a temporary workaround?
I’m also seeing this with Unity 5.6.5p4 and Unity 2018.2.11f1, it seems.
With an empty project:
It’s a little unclear from the discussion above and the issue tracker description: is this simply a problem where the number in Xcode is reported incorrectly, or is the app actually allocated more memory? The former case is only annoying, while the latter can increase memory pressure and lead to crashes.
Today, I built my game for stand alone and it used half as much memory as iOS. And that with the textures almost four times the size as iOS.
I just got a response from the QA team about the memory issue
“The bug has been verified, but we have prioritized critical bugs that are preventing shipping of titles for our next patch.”
So it seems that this issue isn’t important enough yet which is sad because the unity engine has now been set back by at least 8-10 years due to the HUGE memory limitations.
The app is actually allocated more memory. My game on iPhone 4s was using around 200-300mb memory. However it is now crashing on iPhone X (iOS12) because it is going well over 2gb in memory.
@Jaynesh Whom did you get this is response from? This is definitely not true, as I’ve mentioned in the other thread we have prioritised this issue and are working directly with Apple to find a solution.
But I do understand that it’s really unacceptable that we’re taking this long and that it’s something we should had addressed while iOS 12 was still in beta. We’ll look into our QA and high priority issue escalation processes to figure out why and how did this happen. And hopefully a situation like this will not repeat itself in the future.
I’ll be looking forward to an update
I don’t want to call out who said that as I don’t want her to get into any trouble. I appreciate that you are looking into this. Unity have known about this issue since the beta so surely they have heard something from Apple regarding this? or have some idea of what is going on. I refuse to believe that there has been zero information regarding this since the problem was discovered and today.
So I have more information on this issue. It appears that on an iPhone 6 running iOS 11.2.5, there is no memory issue. However, on an iPhone 8 running 11.0.1 and on an iPhone X and XS Max, running iOS 12, there is a huge memory issue.
EDIT:
Refer to this thread for more information on the above related issue: Meshes using way more data than expected / calculated
I don’t think it’s exclusive to Unity apps. We tried this with an old non-unity app and the memory usage was much higher for iOS 12. More than double.
Hi All,
We have been discussing this issue with Apple. On iOS 12 and Xcode 10 Apple’s memory reporting tools has been updated to more accurately track memory footprint now then prior versions. In other words it’s not that your application is consuming more memory, but rather that it previously was under reported.
This is especially true for games using Metal, as most of the allocations have been happening in kernel space which hasn’t been previously accounted for app’s memory footprint.
That being said if people are experiencing actual crashes due to out of memory (this can be confirmed in the device system log) that is now happening on iOS 12 and not on iOS 11 please report a bug with a repro attached and post the case ID back here or private message me. We will forward these cases onto Apple to help investigate.
@ScottF , thanks for the info!
One question that comes to mind: what is the minimum memory overhead that can be achieved with a completely empty Unity project? My test on iOS 12 showed 75MB - are there certain project settings or other considerations I should take into account that could drive that number lower? I’m working on a fairly memory-intensive game, so one of my goals is to reduce the “baseline” overhead of the Unity engine itself as much as possible. I see a manual page about reducing the built player size, but not one specifically about reducing memory overhead of the engine.
It’s also unclear whether this change affects how the OS decides to kill apps. Before iOS 12, if the OS used an under-reported number to decide whether to kill an app, it would effectively mean that your app could use more memory before being killed. If iOS 12 now uses a more accurate number for this, it may ultimately be a good thing, but it would still mean that an app can’t use as much memory as it used to and avoid being killed.
I will have more info to follow but my advise as of right now is to please upgrade your device to iOS 12 Beta 4 or later and re-test your application. As previously communicated the tools will now report more memory then previous iOS versions (expected) but the memory cieling issues should be improved. I will update the post as I have more info.
@kromenak are you looking for general advice on how to minimize memory footprint, or specifically due to the iOS 12 behavior you may have experienced?