Der iPhone Simulator lief plötzlich sehr langsam

319

Ich arbeite seit einigen Wochen an einer App im iPhone-Simulator und sie läuft bis jetzt gut, aber plötzlich läuft sie sowohl beim Laden von Inhalten als auch von Animationen sehr langsam. Ich habe seit dem letzten erfolgreichen Test keine Änderungen an meinem Code vorgenommen.

Ich habe versucht, den Simulator (mehrmals) neu zu starten, die App zu entfernen und eine völlig saubere Neuerstellung durchzuführen, aber kein Glück. Ich habe auch meine CPU-Auslastung über den Monitor überprüft, während der Simulator ausgeführt wird, und ich verwende nur etwa 30% meiner CPU und 40% des Speichers.

Ich verstehe voll und ganz, dass der Simulator niemals so schnell ist wie das Gerät selbst, aber es scheint seltsam, dass er nach so langer Zeit plötzlich langsam läuft, und mit langsam meine ich weniger als ein Viertel seiner ursprünglichen Geschwindigkeit.

Finglish
quelle
9
Haben Sie dreimal hintereinander die Umschalttaste gedrückt?
Rey Gonzales
1
Schwer zu wissen, wenn ich getan habe, was soll ich tun? Ist dies dasselbe wie langsame Animationen umschalten? Wenn ja, habe ich mehrmals versucht, dies ohne Glück umzuschalten.
Finglish
Drücken Sie erneut dreimal die Umschalttaste. Ja, es ist das gleiche.
Rey Gonzales
96
Drücken Sie CMD + T, um die Verlangsamung umzuschalten
Dominic
Bevor Sie solche Fragen stellen, schauen Sie, was hätte passieren können. Im Xcodes-Ausgabefenster sehen Sie "Langsame Animationen sind jetzt aktiviert", was hier eindeutig der hilfreiche Hinweis ist.
Rückgabe wahr

Antworten:

803

Klicken Sie im iOS-Simulator in der oberen Leiste auf DebugToggle Slow Animations(oder Slow Animationsmit Xcode 10+). Möglicherweise haben Sie es versehentlich umgeschaltet.

Metabble
quelle
1
Ich habe es versucht, aber es scheint keinen Unterschied zu machen. Ich habe auch versucht, nach dem Umschalten neu zu starten, aber es ist immer noch sehr langsam. Auch das Geschwindigkeitsproblem scheint nicht auf Animation beschränkt zu sein.
Finglish
@Finglish Nun, zumindest die wahrscheinlichste Ursache ist aus dem Weg. Ich bin mir nicht ganz sicher, was sonst noch falsch sein könnte. Haben Sie eine Version der Quelle, bevor sie langsamer wurde, um sie jetzt mit der Quelle zu vergleichen? Was hat sich zwischen damals und heute geändert?
Metabble
1
Ich bin mir nicht sicher, warum dies funktioniert hat, aber ich habe es gespeichert, aber ich habe eine neue Kopie des Projekts erstellt und den Simulator erneut ausgeführt, und es ist wieder auf Hochtouren. Ich bin mir nicht sicher, ob dies nur ein Zufall ist.
Finglish
1
Oh wow, das passiert wahrscheinlich vielen (einschließlich mir) aufgrund der Zuordnung zu ⌘T. Wenn Sie also versuchen, einen Browser oder eine Terminal-Registerkarte zu öffnen, werden wahrscheinlich langsame Animationen umgeschaltet.
Smitty
1
@Smitty das ist genau das, was mir passiert ist haha ​​:)
DavidA
186

Simple Command+ Tbehebt dieses Problem.

Command+ Tschaltet den Simulator um Slow Animations, den Sie im Simulator-Menü finden: Debug-> Slow Animations.

Tyler Hack
quelle
10
Ich habe diese Tastenkombination versehentlich gedrückt, als ich auf dem Chrome bin. lol (neue Registerkarte öffnen)
mr5
4
Apple sollte sich wirklich eine andere Tastaturkombination überlegen.
Sonlexqt
164

Gehen Sie zum Debug-Menü des Simulators und wählen Sie "Langsame Animationen umschalten".

Update: In Xcode 10 ist es nur "Langsame Animationen":

Simulator-Debug-Menü

Caleb
quelle
6
Ich wette, jede Person, die sich diese Antwort ansieht, hat cmd + T getroffen und gedacht, sie wäre in einer anderen Anwendung und bekommt dann langsame Animationen. Apple sollte den Tastenanschlag cmd + T auf etwas viel Arkaneres und weniger häufig verwendetes neu zuordnen.
CS01
57

Wählen Sie Simulator,

Wählen Sie Debug und deaktivieren Sie langsame Animation.
Tastenkürzel + t

Das ist Arbeit für mich.

Urvish Modi
quelle
38

Wenn die Option Cmd-T (langsame Animationen) für Sie nicht funktioniert und deaktiviert Debug -> Slow Animationsist, Sie aber immer noch langsame Animationen haben, versuchen Sie es Simulator -> Reset Contents and Settings(oder möglicherweise Hardware -> Erase All Content and Settings). Das hat bei mir funktioniert, als keine der anderen Antworten hier zutraf. Hat jemand einen Vorschlag warum?

Auch wenn ein Debugger (überhaupt) angehängt ist, können die Animationen sehr langsam werden.

jcollum
quelle
1
Das hat bei mir funktioniert, aber ich bin auch neugierig warum. Ich entwickle in React Native und frage mich, ob meine Anwendung mit AsyncStorage zu viel Speicherplatz beansprucht. Das ist nur eine Vermutung.
Nomade
Ich habe alles versucht, aber nichts behebt die Langsamkeit, die ich sehe. Ich sehe schnelle Animationen, aber langsame Bewegungen. Wie im Szenen-Kit fällt ein Ball und er geht so langsam, dass man sieht, wie er sich bewegt, als wäre er 1 fps und dauert etwa 10 Sek. auf den Boden fallen
Repardeimaj
Dies ist mit der aktuellen Version von Xcode nicht mehr verfügbar, es gibt jedoch eine Hardware -> Erase All Content and Settings...Option.
Nomade
1
Hardware -> Erase All Content and Settings...ist das Ticket.
Nomade
Es hilft nicht in meinem Fall stackoverflow.com/a/59626207/3826175
mikep
32

Ein weiterer möglicher Fix für React-Native-Benutzer:

Chrome de-priorisiert Javascript, das in Registerkarten ausgeführt wird, die nicht im Vordergrund stehen. Wenn Sie das Remote-Debugging aktiviert haben, müssen Sie den Debugger in einem eigenen Fenster platzieren.

Brandon
quelle
29

Sie haben beim Debuggen versehentlich die langsame Animation gedrückt, wenn Sie den Simulator verwendet haben. Führen Sie also Simulator aus -> Debuggen -> Deaktivieren Sie die Option Langsame Animation.

Digvijay Rajput
quelle
Könnten Sie bitte Ihre Antwort näher erläutern und etwas mehr Beschreibung der von Ihnen bereitgestellten Lösung hinzufügen?
Abarisone
13

Ich denke, Sie haben versehentlich Befehl + T anstelle von Befehl + R gedrückt.

Saad Ur Rehman
quelle
1
Befehl + R zum Aktualisieren. Verbringen Sie 20 Minuten damit, herauszufinden, wie ich meine App ruiniert habe. Starten Sie meinen Mac neu, den letzten Ausweg. Komm her, lerne etwas Neues und freue dich.
ThunderHorse
7

Ich habe noch keinen Repräsentanten, um einen Kommentar zu hinterlassen, aber ich habe hier einige Antworten positiv bewertet und wollte mehr sagen. Ich hatte ein Problem mit langsamen Animationen im iOS-Simulator, insbesondere bei der Rotation, und fand diesen Beitrag über Google. In der Tat muss "Slow Animations umschalten" irgendwie eingeschaltet gewesen sein, weil drei Schichten es behoben haben. Anfangs dachte ich nicht, dass dies ein Problem ist, da neben "Langsame Animationen umschalten" kein Häkchen angezeigt wird. Es stellt sich heraus, dass es nie ein Häkchen oder einen Hinweis aus dem Menü gibt, ob es ein- oder ausgeschaltet ist. Versuchen Sie es einfach umzuschalten und prüfen Sie, ob die Drehung / Navigation schneller / langsamer ist.

Also vielen Dank!

Geoff Hom
quelle
Upvoted wegen der zusätzlichen Informationen über das Fehlen von visuellem Feedback in Xcode
Paul Waldo
5

Simulator -> Inhalte und Einstellungen zurücksetzen funktioniert bei mir. Das Problem scheint erneut aufzutreten, wenn ich meinen reaktionsnativen Code remote debugge. Es könnte auch mit AsyncStorage zu tun haben, wie der Nomade vorgeschlagen hat .

smmaca
quelle
1
Das Stoppen des Remote-Debugs hat mein Problem behoben. Vielen Dank!
Liquidpenguins
1

Sie können versuchen, das Remote-Debugging zu deaktivieren (Cmd-D -> Remote-JS-Debugging beenden). Das beschleunigt normalerweise die Dinge.

Heinrisch
quelle
0

Wenn das Chrome-Debug aktiv ist und die Registerkarte Browser nicht im Vordergrund steht, ist der Emulator ebenfalls langsam. Für mich habe ich mich entschlossen, den Guide in den Vordergrund zu stellen.

Josimar
quelle
-1

Es geht NICHT nur um langsame Animationen. Der Xcode-Simulator weist weltweit eine äußerst geringe Leistung auf. Es ist Apples Fehler. Ich habe es über den Feedback-Assistenten gemeldet . Ich habe eine Demo mit Code erstellt, der zeigt, dass der Simulator 200-mal langsamer ist als jedes alte echte Gerät. Ich habe festgestellt, dass JavaScript-Code mit Date-Objekt, das in WKWebView ausgeführt wird, für den Simulator schmerzhaft ist. Das Ändern von Optionen im Simulator hilft in meinem Fall nicht. Siehe jsfiddle https://jsfiddle.net/kjms16cw/ Ich hoffe, Apple wird es bald beheben!

var log = document.getElementById("log");
document.getElementById("button").onclick = function() { run(); };

function run() {
	var d1 = new Date();
	for (var i = 0; i < 1000; i++) {
		var x = new Date();
		x.setMilliseconds(0);
		x.setSeconds(0);
		x.setMinutes(0);
	}
	var d2 = new Date();
	log.innerHTML = ((d2.getTime() - d1.getTime()) / 1000) + " seconds";
}
<h3>Xcode Simulator Extremely Low Performance</h3>
<p>This test runs fast (several tens milliseconds e.g. 30 ms)
in any browser any device any platform including very old iOS device
e.g. iPhone 5C and several years old iPad 2, BUT IN SIMULATOR IT TAKES 6000 ms 
(yes, 6 seconds!). Terrible!</p>
<button id="button">run()</button>
<div id="log"></div>

mikep
quelle