2014-10-10 5 views
8

Wir haben ein seltsames Problem bei der Verwendung von Unity3D und iOS8. Nach ca. 1 Minute gibt es einen großen (manchmal etwas kleineren) Schluckauf und wir können nicht verstehen warum. Müllabfuhr?Die seltsame iOS8 + Unity3D-Schluckauf

Wir haben ein paar Tage damit verbracht, herauszufinden, was das Problem war und dann ein minimalistisches Demo-Projekt erstellt, wo genau das gleiche Problem auftritt.

Der Schluckauf erscheint nicht auf Geräten mit iOS 7 oder niedriger, nicht auf Android und nicht im Editor. Nur iOS8. Wir haben versucht, sowohl mit der neuesten Version von Unity als auch mit der neuesten 4.6-Beta zu arbeiten.

Hat jemand einen Vorschlag, wie man das beheben kann? Ist es ein Fehler in Unity3D?

Demo Projekt:

  • Klicken Sie auf das "Black Bar" in der ersten Szene zu Szene bekommen zwei, wo das Problem auftritt.
  • Schauen Sie sich genau die Casinos an. Nach ungefähr einer Minute werden Sie sehen, dass sie für einen Moment anhalten und dann vorwärts springen. Als ob ein paar Frames verpasst wurden.
  • Das Problem scheint nicht zu erscheinen, wenn wir vom Start direkt zu "scenetwo" gehen.

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

EDIT 2014.10.20:

Einheit mit dieser geantwortet hat jetzt. "Wir haben andere Berichte über dieses Problem bekommen. Es scheint durch das neue" Feature "von iOS8 verursacht zu werden, wo Watchdog einen Ausnahmebericht generiert, wenn Ihre App zu oft Threads mischt. Wir prüfen, wie diese Berichte gemildert/vermieden werden können . "

+0

Haben Sie Unity Pro gekauft? Es enthält einen Profiler, mit dem Sie wissen können, welcher Teil die Ressourcen am meisten verbraucht. – Raptor

+0

Ja, wir haben eine Einheit pro. Der Profiler zeigt kaum etwas. Wenn es welche gibt, zeigt es jedes Mal andere Gründe. Physics2D.Simulate, Camera.Render, Overhead, etc. etc. – dale

+0

Haben Sie auf mehreren iOS 8 Geräten oder nur einem getestet? Wenn nur einer: bedenke, dass das Gerät fehlerhaft sein kann (jailbroken) oder einfach einen Neustart benötigt. Bauen Sie Release oder Debug Config? Bist du mit Xcode (Debugger) verbunden oder ohne? Versuchen Sie, einen Ad-hoc-Build zu erstellen, dh über Testflight zu verteilen, um zu sehen, ob das einen Unterschied macht, wenn die App wie eine "echte" App läuft. – LearnCocos2D

Antwort

1

Unity hat nun darauf reagiert.

"Wir haben andere Berichte zu diesem Problem. Es scheint durch neue" Feature "von iOS8 verursacht werden, wo Watchdog Ausnahmebericht generiert, wenn Ihre Anwendung Threads zu oft mischt. Wir suchen Möglichkeiten, wie Sie mildern können/vermeide diese Berichte. "