iOS 12 large memory usage

Did you mean 12.1 beta?

Yes

@johnfrog @ScottF @_Paulius
Hi Guys, Is this also a memory issue??? I am posting threads below. Since IOS 12 released this thread is causing my games to crash on iOS 12 devices. Games are working fine on iOS 11. I searched a lot but didn’t find any temp fix for this issue

Thread 11 IOS: 12.0.1 (16A404) Devices: iPhone 5s (Model A1453, A1533, iPhone 6)
#0 (null) in 0 ()
#1 0x00000001010e1670 in JobQueue::Exec(JobInfo*, long long, int) ()
#2 0x00000001010e15dc in JobQueue::Steal(JobGroup*, JobInfo*, long long, int, bool) ()
#3 0x00000001010e19a0 in JobQueue::ExecuteJobFromQueue() ()
#4 0x00000001010e1a44 in JobQueue::processJobs(void*) ()
#5 0x00000001010e10e0 in JobQueue::WorkLoop(void*) ()
#6 0x000000010114c47c in Thread::RunThreadWrapper(void*) ()
#7 (null) in _pthread_body ()
#9 (null) in thread_start ()

Thread 13 IOS: 12.1 (16B5077c) Devices: iPhone 5s (Model A1457, A1518, A1528, A1530)
#0 (null) in 0 ()
#1 0x0000000100de9670 in JobQueue::Exec(JobInfo*, long long, int) ()
#2 0x0000000100de95dc in JobQueue::Steal(JobGroup*, JobInfo*, long long, int, bool) ()
#3 0x0000000100de99a0 in JobQueue::ExecuteJobFromQueue() ()
#4 0x0000000100de9a44 in JobQueue::processJobs(void*) ()
#5 0x0000000100de90e0 in JobQueue::WorkLoop(void*) ()
#6 0x0000000100e5447c in Thread::RunThreadWrapper(void*) ()
#7 (null) in _pthread_body ()
#9 (null) in thread_start ()

We’re also experiencing crashes with Unity 2018.2.5f1 on iOS 12, due to memory…
It didn’t happen with Unity 2017.1.4

Are you sure that the issue can be isolated to Unity update?
Are you building your game using Xcode 9 or Xcode 10?
Builds made with Xcode 9 seem to have less of a memory impact somehow
(at least in the case I’ve had to cover pretty recently).

@tomerpeledNG_1 the threads i posted above are they also related to memory??? Because i am unable to understand it

@Duobix Well you might be right. We just update both Unity (to Unity 2018.2.5f.1) and Xcode( to XCode 10 from XCode 9).
So do you think that going back to XCode 9 might solve our issue? Currently is crashes our game on Devices such IPhone 6 with iOS 12.

@BetterGamesStudio The stacktrace you’ve added are regular Thread stacktrace I believe…

We’re seeing the same problem with our app on xCode 10.

We’ve reverted to building with xCode 9.4.1 and it seems to have improved memory usage marginally.

You will need to copy the device support profile for 12/12.1 from xcode 10/10.1 into the 9.4.1 xcode.app:

Hi,

As @Duobix mentioned, we downgrade our XCode from 10 to 9.2 and now everything is back to normal - no crashes on our game!!!

So, where is the problem? Unity or iOS?

@ScottF , regarding your earlier question, general advice on lowering the “baseline” Unity memory usage would be useful, regardless of the iOS 12 issue. I’m not sure if such a resource/documentation/tutorial exists somewhere and I haven’t seen it. Or maybe the engine just uses a certain amount of memory (even after enabling engine code stripping, for example) and there’s not much to be done about it.

iOS12 will crash when using memory beyond 650MB.


This problem occurs on devices with less than 1GB of RAM in the iOS12.

Update:

We have confirmed on our side that applications now behave consistently (when testing with iOS 12 Beta 4 & Beta 5) vs iOS 11 and older in respect to how much memory is consumed. Please note that the OOM issues was only happening on a sub-set of iOS devices such as the IPhone X but not the IPhone XS.

As mentioned earlier you WILL see higher memory usage on iOS 12 vs 11 but this is expected and should be welcome news as the memory profiler tools are now more accurate.

There is nothing we at Unity can do to make this situation better for iOS 12.0, iOS 12.1 will have to roll out before any issues impacting shipped titles will be improved.

There is no regression in Unity. The memory footprint Unity and your game uses between different versions is always going to have small fluctuations. It is entirely possible your game is right near a memory limit and these small fluctations put you over. Please try on iOS 12.1 Beta as this has significantly increases the memory cieling on certain devices.

2 Likes

Maybe this has nothing to do with this thread, but I noticed that setting memoryless MSAA for RenderTextures does not work any more.

I’m not sure if it’s a Unity regression or an iOS 12 bug (I only noticed it now and last time I checked for it was a couple of months ago), but it made my main RenderTexture claim an additional 45mb of memory when AA is on.

iOS12.1 is out. I suggest all who have memory issues to upgrade and retry. Please report back with the results…

Hi, iOS 12.1 out. Using Unity 2018.2.5f1 and xCode 10.1 problem still present.

In compare to iOS 12, Unity 2018.2.5.f1 and xCode 9.4 we are heavily memory limited. This is killer situation for us.

Btw. Memory ceiling was not improved at all xCode 10 and xCode 10.1 version is still 1400MB on iOS 12 and iOS12.1 on iPad9.7

Same here

So, I have run our app with extremely different results between iOS 11.x and iOS 12.x.

On an iPhone 8 with iOS 12.0.1 and 12.1, the app crashes and burns when memory allocations get to around 700MB. This is with nothing else running on the device.

On an iPhone 7 with iOS 11.4.1, the app doesn’t crash and I can allocate 1200-1300 MB worth of stuff. It does crash North or 1300 MB.

So, in my opinion, the same app, built with Unity 2017.3.1, appears to have a very different memory life cycle in iOS 12 vs iOS 11. This cannot just be attributed to small fluctuations of memory allocations. This is significantly different. I don’t know if this is Apple or Unity’s fault.

1 Like

This memory issue seriously needs to be looked into by Unity. The mobile gaming industry has been set back by a few years because of this.

2 Likes

Would you be able to share your project with us so we can review the memory usage with Unity and Apple engineers? Please PM me so we can investigate further.

Thanks,
Scott

I’m also running into the same issue.
This will put a stop to the planned deployment of my app until fixed. So have we had any word?

I want to say the upgrade to 12.1, and subsequent upgrade to xcode 10.1 may have made matters even worse.
I notice about twice the memory consumption reported in xcode on iOS 12 vs 11, even with the same version of xcode and xcode project. Crashes are regular (even in different segments of code) with 1400mb limit warning.

And yet works flawlessly on iOS 11 (all other factors being identical).

Unity: 2018.2.13f1
iOS : 11, 12.01, 12.1
Xcode: 10, 10.1