iPhone Simulator ha iniziato improvvisamente a funzionare molto lentamente


319

Ho lavorato su un'app nel simulatore di iPhone per diverse settimane e ha funzionato bene fino ad ora, ma all'improvviso ha iniziato a funzionare molto lentamente sia durante il caricamento di contenuti che di animazioni. Non ho apportato modifiche al mio codice dall'ultima volta che l'ho testato con successo.

Ho provato a riavviare il simulatore (più volte) e rimuovere l'app e fare una ricostruzione completamente pulita, ma senza fortuna. Ho anche controllato il mio utilizzo della cpu attraverso il monitor mentre il simulatore è in esecuzione e sto usando solo circa il 30% della mia cpu e il 40% della memoria.

Capisco perfettamente che il simulatore non è mai veloce come il dispositivo stesso, ma sembra strano che improvvisamente abbia iniziato a funzionare lentamente dopo così tanto tempo, e per lento intendo meno di un quarto della sua velocità originale.


9
Hai premuto shift tre volte di seguito?
Rey Gonzales,

1
Difficile da sapere, se avessi fatto cosa avrei dovuto fare? È lo stesso di Attiva / Disattiva animazioni lente? Se è così, ho provato a farlo alternativamente più volte senza fortuna.
Finglish

Premere di nuovo tre volte MAIUSC. Sì, è lo stesso.
Rey Gonzales,

96
Premi CMD + T per rallentare
Dominic

Prima di porre tali domande, guarda cosa potrebbe essere successo. Nella finestra di output di Xcodes, vedi "Le animazioni lente sono ora attive", che qui è chiaramente il suggerimento utile.
restituire il

Risposte:


803

Nel simulatore iOS, nella barra in alto, fai clic su DebugToggle Slow Animations(o Slow Animationscon Xcode 10+). È probabile che tu l'abbia attivato accidentalmente.


1
Ci ho provato ma non sembra fare alcuna differenza. Ho anche provato a riavviare dopo aver attivato, ma è ancora molto lento. Inoltre, il problema della velocità non sembra essere limitato all'animazione.
Finglish

@Finglish Bene, almeno la causa più probabile è fuori mano. Non sono del tutto sicuro di cos'altro potrebbe essere sbagliato. Hai una versione della fonte prima che rallentasse per confrontarla con la fonte ora? Cosa è cambiato tra quando era veloce e adesso?
Metabble

1
Non sono sicuro del motivo per cui ha funzionato, ma l'ho salvato ma ho creato una nuova copia del progetto e riavviato il simulatore ed è tornato alla massima velocità. Non sono sicuro se questa sia solo una coincidenza.
Finglish

1
Oh wow, questo sta probabilmente accadendo a molti (incluso me) a causa della mappatura su ⌘T, quindi se stai provando ad aprire un browser o una scheda terminale è probabilmente attivare animazioni lente ......
Smitty

1
@Smitty questo è esattamente quello che mi è successo haha ​​:)
DavidA

186

Simple Command+ Trisolverà questo problema.

Command+ Tattiva / disattiva il simulatore Slow Animations, disponibile nel menu Simulatore: Debug-> Slow Animations.


10
Ho accidentalmente premuto quella combinazione di tasti mentre sono sul Chrome. lol (apertura di una nuova scheda)
sig. 5

4
Apple dovrebbe davvero pensare a un'altra combinazione di tastiere.
Sonlexqt

165

Vai al menu Debug del simulatore e seleziona "Attiva / disattiva animazioni lente".

Aggiornamento: in Xcode 10, è solo "Animazioni lente":

Menu di debug del simulatore


6
Scommetto che ogni persona che guarda questa risposta ha colpito cmd + T pensando di trovarsi in un'applicazione diversa e poi ha iniziato ad ottenere animazioni lente. Apple dovrebbe rimappare il tasto cmd + T in qualcosa di molto più arcano e meno comunemente usato.
cs01,

57

Seleziona simulatore,

Seleziona Debug e deseleziona l'animazione lenta.
comando scorciatoia + t

Questo è lavoro per me.


38

Se l'opzione Cmd-T (animazioni lente) non funziona per te ed Debug -> Slow Animationsè disattivata ma hai ancora animazioni lente, prova Simulator -> Reset Contents and Settings(o possibilmente Hardware -> Erase All Content and Settings). Questo ha funzionato per me quando nessuna delle altre risposte qui ha funzionato. Qualcuno ha un suggerimento sul perché?

Anche avere un debugger collegato (per niente) può rendere le animazioni molto lente.


1
Questo ha funzionato per me, ma sono anche curioso di sapere perché. Sto sviluppando in React Native e mi chiedo se la mia applicazione abbia iniziato a occupare troppo spazio con AsyncStorage. Questa è solo una supposizione.
nomade

ho provato di tutto ma nulla risolve la lentezza che sto vedendo sto vedendo animazioni veloci ma movimenti lenti, come nel kit di scena ho una palla che cade e va così lentamente che puoi vederla muoversi come se fosse 1 fps e impiega come 10 secondo per colpire il pavimento
Repardeimaj

Questo non è più disponibile con la versione corrente di Xcode, ma esiste Hardware -> Erase All Content and Settings...un'opzione.
nomade il

1
Hardware -> Erase All Content and Settings...è il biglietto.
nomade,


32

Un'altra potenziale soluzione per gli utenti React-Native:

Chrome ha la priorità di Javascript in esecuzione in tutte le schede non in primo piano. Quindi, se hai abilitato il debug remoto, assicurati di mettere il debugger nella sua finestra.


29

È stata accidentalmente premuta l'animazione lenta al debug quando si utilizza il simulatore. Quindi, eseguire Simulator -> Debug -> Deselezionare Animazione lenta.


Potresti per favore elaborare di più la tua risposta aggiungendo un po 'più di descrizione della soluzione che offri?
Abarisone,

13

Penso che tu abbia premuto il comando + T invece del comando + R per errore.


1
Comando + R per aggiornare. Trascorri 20 minuti cercando di capire come ho rovinato la mia app. Riavvia il mio Mac, l'ultima risorsa. Vieni qui, impara qualcosa di nuovo e gioisci.
ThunderHorse,

7

Non ho ancora il rappresentante di lasciare un commento, ma ho votato qui alcune risposte e volevo aggiungere altro. Ho avuto un problema con le animazioni lente nel simulatore iOS, in particolare sulla rotazione, e ho trovato questo post tramite Google. In effetti, in qualche modo "Attiva / Disattiva animazioni lente" deve essere stato attivato, perché tre turni lo hanno risolto. All'inizio, non pensavo che questo fosse un problema perché non c'era un segno di spunta accanto a "Attiva / Disattiva animazioni lente". Si scopre che non c'è mai un segno di spunta o alcuna indicazione dal menu se è acceso o spento. Quindi prova a selezionarlo e vedi se la rotazione / navigazione è più veloce / più lenta.

Quindi grazie!


Votato a causa delle informazioni aggiuntive sulla mancanza di feedback visivo in Xcode
Paul Waldo,

5

Simulatore -> Ripristina contenuti e impostazioni funziona per me. Il problema sembra riapparire quando eseguo il debug in remoto del mio codice di reazione nativo. Potrebbe anche avere a che fare con AsyncStorage come suggerito da nomade .


1
L'arresto del debug remoto è ciò che ha risolto il mio problema. Grazie!
liquidpenguins,

1

Puoi provare a disattivare il debug remoto (Cmd-D -> Stop Remote JS Debugging). Questo di solito accelera le cose.


0

Quando il debug di Chrome è attivo e la scheda del browser non è in primo piano, anche l'emulatore è lento. Per me, ho deciso di mettere la guida in primo piano.


-1

Non si tratta solo di animazioni lente. Il simulatore Xcode ha prestazioni estremamente basse a livello globale. È un bug di Apple. L'ho segnalato tramite Feedback Assistant . Ho creato una demo con il codice che dimostra che il simulatore è 200 volte più lento di qualsiasi vecchio dispositivo reale. Ho scoperto che il codice JavaScript con l'oggetto Date eseguito in WKWebView è doloroso per il simulatore. La modifica delle opzioni nel simulatore non aiuta nel mio caso. Vedi jsfiddle https://jsfiddle.net/kjms16cw/ Spero che Apple lo risolva presto!

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>

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.