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 . "
Haben Sie Unity Pro gekauft? Es enthält einen Profiler, mit dem Sie wissen können, welcher Teil die Ressourcen am meisten verbraucht. – Raptor
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
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