8
votes

We've run into a strange problem when using Unity3D and iOS8. After about 1 minute there is a large (sometime a bit smaller) hiccup and we can't figure out why. Garbage collection?

We spent a few days trying to find out what the problem was and then created a minimalistic demo project where the exact same problem occurs.

The hiccup does not appear on iOS 7 or lower devices, not on Android and not in the editor. Only iOS8. We've tried build both with the latest release of Unity and the latest 4.6 beta.

Does anyone have a suggestion on how to fix this? Is it a bug in Unity3D?

Demo project:

  • Click the "Black bar" in the first scene to get to scene two where the problem occurs.
  • Look closely at the casinos. After about 1 minute you will see that they stop for a moment and then jump forward. As if a few frames were missed.
  • The problem does not seem to appear if we go straight to "scenetwo" from launch.

https://github.com/dale/demoproject-hiccup

EDIT 2014-10-20:

Unity has now responded with this. "We got other reports on this issue. It seems to be caused by new "feature" of iOS8, where is watchdog is generating exception report if your app is shuffling threads too often. We are looking into ways how to mitigate/avoid these reports."

1
Did you buy Unity Pro? It includes a Profiler that can let you know which part consumes the resources most.Raptor
Yes, we have unity pro. The profiler hardly shows anything at all. If any, it shows different reasons every time. Physics2D.Simulate, Camera.Render, Overhead, etc. etc.dale
Have you tested on multiple iOS 8 devices or just one? If just one: consider that the device could be faulty (jailbroken) or may simply need a reboot. Are you building release or debug config? Do you run with Xcode (debugger) attached or without? Try making an adhoc build, ie distributed via testflight to see if that makes any difference if the app runs like a "real" app.LearnCocos2D
We've tried all of the above unfortunately... iPads, iPhones, different builds, adhocs etc... :( No jailbreaked devices...dale
Are anyone of you able to reproduce the issue?dale

1 Answers

1
votes

Unity has now responded with this.

"We got other reports on this issue. It seems to be caused by new "feature" of iOS8, where is watchdog is generating exception report if your app is shuffling threads too often. We are looking into ways how to mitigate/avoid these reports."