iPhone Simulator de repente comenzó a correr muy lento

319

He estado trabajando en una aplicación en el simulador de iPhone durante varias semanas y ha estado funcionando bien hasta ahora, pero de repente ha comenzado a funcionar muy lentamente tanto al cargar contenido como en animaciones. No he realizado ningún cambio en mi código desde la última vez que lo probé con éxito.

Intenté reiniciar el simulador (varias veces) y eliminar la aplicación y hacer una reconstrucción completamente limpia, pero no tuve suerte. También verifiqué mi uso de CPU a través del monitor mientras el simulador se está ejecutando y solo estoy usando alrededor del 30% de mi CPU y el 40% de la memoria.

Entiendo completamente que el simulador nunca es tan rápido como el dispositivo en sí, pero parece extraño que de repente haya comenzado a funcionar lentamente después de tanto tiempo, y por lento quiero decir menos de una cuarta parte de su velocidad original.

Finglish
fuente
99
¿Presionó shift tres veces seguidas?
Rey Gonzales
1
Difícil de saber, si hice, ¿qué debo hacer? ¿Es esto lo mismo que Toggle animaciones lentas? Si es así, he tratado de alternar esto varias veces sin suerte.
Finglish
Presione shift tres veces nuevamente. Sí, es lo mismo.
Rey Gonzales
96
Presione CMD + T para alternar ralentizar
Dominic
Antes de hacer esas preguntas, mira lo que podría haber sucedido. En la ventana de salida de Xcodes, verá "Las animaciones lentas ahora están activadas", que claramente es la sugerencia útil aquí.
Vuelve el verdadero

Respuestas:

803

En el simulador de iOS, en la barra en la parte superior, haga clic en DebugToggle Slow Animations(o Slow Animationscon Xcode 10+). Es probable que accidentalmente lo haya activado.

Metabble
fuente
1
Intenté esto pero no parece hacer ninguna diferencia. También intenté reiniciar después de alternar, pero aún es muy lento. Además, el problema de la velocidad no parece estar limitado a la animación.
Finglish
@Finglish Bueno, al menos la causa más probable está fuera del camino. No estoy muy seguro de qué más podría estar mal. ¿Tiene una versión de la fuente de antes de que se ralentizara para compararla con la fuente ahora? ¿Qué ha cambiado entre cuando era rápido y ahora?
Metabble
1
No estoy seguro de por qué funcionó, pero guardé pero hice una nueva copia del proyecto y volví a ejecutar el simulador y está de vuelta a toda velocidad. Sin embargo, no estoy seguro de si esto es solo una coincidencia.
Finglish
1
Oh, wow, es probable que esto le esté sucediendo a muchos (incluido yo) debido a la asignación a ⌘T, por lo que si está tratando de abrir una pestaña de navegador o terminal, probablemente esté alternando animaciones lentas ......
Smitty
1
@Smitty esto es exactamente lo que me pasó jaja :)
DavidA
186

Simple Command+ Tsolucionará este problema.

Command+ Talterna el simulador Slow Animations, que se puede encontrar en el menú del simulador: Debug-> Slow Animations.

Tyler Hack
fuente
10
Accidentalmente presioné esa combinación de teclas cuando estoy en Chrome. lol (abriendo una nueva pestaña)
mr5
44
Apple realmente debería pensar en otra combinación de teclado.
sonlexqt
165

Vaya al menú de depuración del simulador y seleccione "Alternar animaciones lentas".

Actualización: en Xcode 10, es solo "Animaciones lentas":

Menú de depuración del simulador

Caleb
fuente
66
Apuesto a que cada persona que mira esta respuesta golpeó cmd + T pensando que estaban en una aplicación diferente y luego comenzó a obtener animaciones lentas. Apple debería reasignar la combinación de teclas cmd + T a algo mucho más arcano y menos utilizado.
cs01
57

Seleccionar simulador,

Seleccione Depurar y desactive la animación lenta.
comando de acceso directo + t

Eso es trabajo para mi.

Uri Modi
fuente
38

Si la opción Cmd-T (animaciones lentas) no funciona para usted y Debug -> Slow Animationsestá desactivada pero aún tiene animaciones lentas, intente Simulator -> Reset Contents and Settings(o posiblemente Hardware -> Erase All Content and Settings). Eso funcionó para mí cuando ninguna de las otras respuestas aquí lo hizo. Alguien tiene una sugerencia de por qué?

También tener un depurador adjunto (en absoluto) puede hacer que las animaciones sean muy lentas.

jcollum
fuente
1
Esto funcionó para mí, pero también tengo curiosidad por qué. Estoy desarrollando en React Native y me pregunto si mi aplicación comenzó a ocupar demasiado espacio con AsyncStorage. Eso es solo una suposición.
nómada
He intentado todo, pero nada soluciona la lentitud que estoy viendo, veo animaciones rápidas pero movimiento lento, como en el kit de escena, tengo una bola que cae y va tan lenta que puedes ver que se mueve como si fuera 1 fps y toma como 10 segundos para golpear el suelo
Repardeimaj
Esto ya no está disponible con la versión actual de Xcode, pero hay una Hardware -> Erase All Content and Settings...opción.
nómada
1
Hardware -> Erase All Content and Settings...Es el boleto.
nómada
No ayuda en mi caso stackoverflow.com/a/59626207/3826175
mikep
32

Otra posible solución para los usuarios de React-Native:

Chrome elimina la prioridad de Javascript que se ejecuta en cualquier pestaña que no esté en primer plano. Entonces, si ha habilitado la depuración remota, asegúrese de colocar el depurador en su propia ventana.

Brandon
fuente
29

Accidentalmente presionó la animación lenta en la depuración al usar el simulador. Así que ejecute Simulator -> Debug -> Desmarque Animación lenta.

Digvijay Rajput
fuente
¿Podría por favor elaborar más su respuesta agregando un poco más de descripción sobre la solución que proporciona?
abarisone
13

Creo que presionó comando + T en lugar de comando + R por error.

Saad Ur Rehman
fuente
1
Comando + R para actualizar. Pase 20 minutos tratando de descubrir cómo arruiné mi aplicación. Reinicia mi Mac, el último recurso. Ven aquí, aprende algo nuevo y regocíjate.
ThunderHorse
7

Todavía no tengo el representante para dejar un comentario, pero voté algunas respuestas aquí y quería decir más. Tuve un problema con las animaciones lentas en el simulador de iOS, especialmente en la rotación, y encontré esta publicación a través de Google. De hecho, de alguna manera "Toggle Slow Animations" debe haber estado activado, porque tres turnos lo arreglaron. Al principio, no pensé que esto fuera un problema porque no hay una marca de verificación junto a "Alternar animaciones lentas". Resulta que nunca hay una marca de verificación, o ninguna indicación del menú si está activado o desactivado. Así que solo intente alternarlo y ver si la rotación / navegación es más rápida / lenta.

¡Así que gracias!

Geoff Hom
fuente
Upvoted debido a la información adicional sobre la falta de retroalimentación visual en Xcode
Paul Waldo
5

Simulador -> Restablecer contenido y configuración funciona para mí. El problema parece reaparecer cuando depuro mi código nativo de reacción de forma remota. También podría tener que ver con AsyncStorage como sugirió nómada .

smmaca
fuente
1
Detener la depuración remota es lo que solucionó mi problema. ¡Gracias!
liquidpenguins el
1

Puede intentar desactivar la depuración remota (Cmd-D -> Detener la depuración JS remota). Eso generalmente acelera las cosas.

Heinrisch
fuente
0

Cuando la depuración de Chrome está activa y la pestaña del navegador no está en primer plano, el emulador también es lento. Para mí, decidí poner la guía en primer plano.

Josimar
fuente
-1

NO se trata solo de animaciones lentas. El simulador Xcode tiene un rendimiento extremadamente bajo en global. Es el error de Apple. Lo he informado a través de Feedback Assistant . He creado una demostración con código que demuestra que el simulador es 200 veces más lento que cualquier dispositivo real antiguo. Descubrí que el código JavaScript con el objeto Date ejecutado en WKWebView es complicado para el simulador. Cambiar las opciones en el simulador no ayuda en mi caso. Ver jsfiddle https://jsfiddle.net/kjms16cw/ ¡Espero que Apple lo arregle pronto!

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
fuente