iPhone Simulatorが突然非常に遅くなった


319

私はiphoneシミュレーターでアプリを何週間も開発してきましたが、今までは順調に稼働してきましたが、コンテンツとアニメーションの読み込みの両方で、突然、実行が非常に遅くなり始めました。最後にテストしたので、コードに変更を加えていません。

シミュレーターを(複数回)再起動してアプリを削除し、完全にクリーンな再構築を試みましたが、うまくいきませんでした。また、シミュレーターの実行中にモニターを使用してCPU使用率を確認したところ、CPUの約30%とメモリの40%しか使用していません。

シミュレータはデバイス自体としては決して速いわけではないことを十分に理解していますが、そのような長い時間の後に突然低速で動作し始めたのは奇妙に思われます。低速とは、元の速度の4分の1未満を意味します。


9
Shiftキーを3回続けて押しましたか?
レイゴンザレス

1
わかりませんが、どうしたらいいですか。これは、スローアニメーションの切り替えと同じですか?もしそうなら、私はこれを数回トグルなしでトグルしようとしました。
フィングリッシュ2013年

もう一度シフトを3回押します。うん、それは同じです。
レイゴンザレス

96
CMD + Tを押してスローダウンをトグル
Dominic

そのような質問をする前に、何が起こったのかを見てください。Xcodesの出力ウィンドウに、「遅いアニメーションがオンになりました」と表示されます。これは、明らかに役立つヒントです。
真の

回答:


803

iOSシミュレーターで、上部のバーにあるDebugToggle Slow Animations(またはSlow AnimationsXcode 10以降)をクリックします。誤ってオンに切り替えた可能性があります。


1
私はこれを試しましたが、何の違いもないようです。トグル後に再起動も試みましたが、それでも非常に遅いです。また、速度の問題はアニメーションに限定されていないようです。
フィングリッシュ2013年

@Finglishまあ、少なくとも最も可能性の高い原因は邪魔になっていません。他に何が悪いのかよくわかりません。ソースと比較するために速度が低下する前のバージョンのソースがありますか?速くなったときと今から何が変わったのですか?
Metabble 2013年

1
なぜこれが機能したのかはわかりませんが、保存しましたが、プロジェクトの新しいコピーを作成してシミュレータを再実行したところ、フルスピードに戻りました。これが単なる偶然かどうかはわかりません。
フィングリッシュ2013年

1
ああ、これはbecauseTへのマッピングが原因で多くの人(私を含む)に発生している可能性が高いので、ブラウザーまたはターミナルタブを開こうとすると、アニメーションが遅くなる可能性があります……
Smitty

1
@Smittyこれはまさに私に起こったことです:)
DavidA

186

Simple Command+ Tはこの問題を修正します。

Command+ Tはシミュレータのを切り替えSlow Animationsます。これはシミュレータメニューの下にあります:Debug-> Slow Animations


10
Chromeで誤ってそのキーの組み合わせを押しました。lol(新しいタブを開く)
mr5 '18

4
Appleは別のキーボードの組み合わせを考えるべきです。
sonlexqt 2017年

164

シミュレータの[デバッグ]メニューに移動し、[スローアニメーションの切り替え]を選択します。

更新: Xcode 10では、「スローアニメーション」のみです。

シミュレータデバッグメニュー


6
私はこの答えを見ているすべての人が別のアプリケーションにいると思ってcmd + Tを押してから、遅いアニメーションを取得し始めたに違いない。Appleはcmd + Tキーストロークを、より一般的であまり一般的でない方法に再マッピングする必要があります。
cs01

57

シミュレータを選択し、

[デバッグ]を選択し、遅いアニメーションのチェックを外します。
ショートカットコマンド+ t

それは私の仕事です。


38

Cmd-T(遅いアニメーション)オプションが機能せず、Debug -> Slow Animationsオフになっているが、遅いアニメーションがまだSimulator -> Reset Contents and Settingsある場合(または可能性がありますHardware -> Erase All Content and Settings)。ここで他の答えがどれもうまくいかなかったとき、それは私にとってうまくいきました。誰でもなぜかについての提案がありますか?

また、デバッガーを(まったく)接続すると、アニメーションが非常に遅くなる場合があります。


1
これは私にとってはうまくいきましたが、なぜか私も知りたいです。私はReact Nativeで開発していますが、私のアプリケーションがAsyncStorageでスペースを使いすぎているのではないかと思います。それは単なる推測です。
nomad

私はすべてを試しましたが、遅いアニメーションは見ていますが、アニメーションが速いのに動きが遅いのを修正しているものは何もありません。たとえば、シーンキットのように、ボールが落ちて非常に遅いので、1 fpsで10のように動くのがわかります。床に
達する

これは現在のバージョンのXcodeでは使用できなくなりましたが、Hardware -> Erase All Content and Settings...オプションがあります。
nomad

1
Hardware -> Erase All Content and Settings...チケットです。
遊牧民2018

それは私のケースでは役に立ちませんstackoverflow.com/a/59626207/3826175
mikep

32

React-Nativeユーザーのための別の潜在的な修正:

Chromeは、フォアグラウンドではないタブで実行されているJavaScriptの優先順位を下げます。したがって、リモートデバッグを有効にしている場合は、必ずデバッガを専用のウィンドウに配置してください。


29

シミュレーターを使用しているときに、デバッグ時にスローアニメーションを誤って押しました。シミュレーターを実行->デバッグ->遅いアニメーションのチェックを外します。


提供するソリューションについてもう少し説明を追加して、回答を詳しく説明していただけませんか?
abarisone 2015年

13

誤ってcommand + Rではなくcommand + Tを押したと思います。


1
コマンド+ Rで更新します。アプリをどのように台無しにしたかを理解するために20分を費やしてください。最後の手段であるMacを再起動します。ここに来て、何か新しいことを学び、喜んでください。
ThunderHorse

7

私はまだコメントを残す担当者がいませんが、ここでいくつかの回答に賛成し、さらに言いたいと思います。iOSシミュレーターのアニメーションが遅い場合、特に回転時に問題が発生しました。この投稿はGoogleで見つかりました。確かに、3つのシフトで修正されたため、どういうわけか "Toggle Slow Animations"がオンになっているはずです。最初は、「Toggle Slow Animations」の横にチェックマークがないため、これが問題になるとは思いませんでした。チェックマークが表示されたり、メニューのオン/オフが表示されたりすることはありません。だからそれをトグルしてみて、回転/ナビゲーションがより速い/より遅いかどうか確かめてください。

だから、ありがとう!


Xcodeに視覚的なフィードバックがないことに関する追加情報のために賛成
Paul Waldo

5

シミュレーター->コンテンツと設定をリセットするとうまくいきます。反応ネイティブコードをリモートでデバッグすると、問題が再発するようです。遊牧民が示唆するように、AsyncStorageを使用することもできます。


1
リモートデバッグを停止すると、問題が解決します。ありがとう!
リキッドペンギン2016年

1

リモートデバッグをオフにしてみることができます(Cmd-D->リモートJSデバッグの停止)。それは通常物事をスピードアップします。


0

Chromeデバッグがアクティブで、ブラウザタブがフォアグラウンドにない場合、エミュレータも低速になります。私にとっては、ガイドを手前に置くことにしました。


-1

遅いアニメーションだけではありません。Xcodeシミュレーターは、グローバルで非常に低いパフォーマンスを持っています。これはAppleのバグです。フィードバックアシスタントで報告しました。私は、シミュレータが古い実際のデバイスより200倍遅いことを示すコード付きのデモを作成しました。WKWebViewで実行されるDateオブジェクトを含むJavaScriptコードは、シミュレーターにとって苦痛であることがわかりました。シミュレータでオプションを変更しても、私の場合は役に立ちません。jsfiddle https://jsfiddle.net/kjms16cw/を参照してください。Appleがすぐに修正してくれることを願っています

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>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.