Xcode Simulator 动画在编辑器中播放时非常慢

Posted

技术标签:

【中文标题】Xcode Simulator 动画在编辑器中播放时非常慢【英文标题】:Xcode Simulator animations extremely slow when played in editor 【发布时间】:2015-10-01 09:56:31 【问题描述】:

最近我体验到,Xcode 的模拟器变得非常慢。此外,如果我创建一个新应用程序并运行它,启动屏幕和第一个视图控制器之间的转换大约需要 3 秒。幸运的是,它只是 ios 9 模拟器,而不是 iOS 8 或更低版本。 我已经升级到 Xcode 6.4,并且还安装了 Xcode 7.0 beta 3。有没有人有同样的经历?我已经尝试卸载这两个 Xcode 版本,但没有帮助。

【问题讨论】:

也注意到了这一点。第一次启动需要很长时间,然后它不会启动应用程序,必须再次运行它。之后它很快。还是很烦人。 对我来说,模拟器越来越慢了。什么垃圾。 Xcode 9, FPS = 1。 ??? Xcode 8 一切正常(FPS 30) 【参考方案1】:

如果您按 command+T,则会触发“慢速动画”功能。直到现在我才注意到这个设置。呵呵!

【讨论】:

我读了这个答案并想,“哈哈哈,这太荒谬了!我什至不记得按 Command-T 以 lol 开头”然后我按了 Command-T,一切都恢复正常了。 大声笑,这太荒谬了,,,我以为我的应用程序出了点问题……但是找到这个答案后,我笑了…… 我也是……在我读到这个 ​​Commant-T(慢动画)功能之前,我已经痛苦了一周。 我理解这个功能存在的原因,但确实应该有某种类型的指示器表明“慢速模式”已启用:) 总是认为模拟器超级慢。原来我自从开始使用它就开启了这个模式!【参考方案2】:

在 Simulator 菜单中,转到 Debug > Slow Animations,然后取消选中此选项或直接执行以下操作:

+ T

【讨论】:

哇... 6 个月来我一直在抱怨模拟器运行缓慢,并且发现大量关于它由于 Apple 端的错误而运行缓慢的问题,经过这么长时间,它是因为我试图打开一个新选项卡,而模拟器,而不是我的浏览器,是打开的窗口......很高兴我决定调查一下,看看这里是否有任何消息。【参考方案3】:

XCODE 9 错误。官方确认这是 Xcode 9.0 及其 iOS 11 模拟器的问题——它会影响任何使用 OpenGL 的应用程序。

见:https://github.com/mapbox/mapbox-gl-native/issues/9959

还有:https://twitter.com/xenadu02/status/911463433521860609

:( 希望这可以帮助。

【讨论】:

谢谢,更新到 XCode beta 9.2,现在好多了,react-native-maps 也可以工作了 :)【参考方案4】:

目前只有iOS11模拟器比较慢。

您可以下载其他完美运行的iOS10模拟器。

选择 Xcode -> 产品 -> 目的地 -> 下载模拟器... 然后从列表中选择任意一个 iOS10 模拟器(例如 10.3.1)。

之后,您将为大多数设备选择 iOS 版本:

【讨论】:

【参考方案5】:

这已在 Xcode 9.1 beta 2 中修复

修复了 Simulator 的 OpenGL 中可能导致 SceneKit 应用程序运行缓慢和 CPU 运行缓慢的问题 尝试在 MKMapView 中平移时达到 100%。

【讨论】:

【参考方案6】:

这是苹果开发者已知的错误,请参见下面的链接 https://forums.developer.apple.com/thread/83570

【讨论】:

【参考方案7】:

我也遇到了同样的问题,在摸索了一会儿之后,我意识到在运行模拟器时打开 Xcode“Organizer”窗口会导致它的行为非常缓慢。因此,对于没有勾选“慢速动画”选项的任何人,请检查管理器窗口是否未打开。

【讨论】:

【参考方案8】:

Xcode 模拟器的性能极低。这是苹果的错误。我已经通过Feedback Assistant 报告了它。我用代码创建了演示,演示模拟器比任何旧的真实设备慢 200 倍。我发现在 WKWebView 中执行的带有 Date 对象的 javascript 代码对模拟器来说很痛苦。见 jsfiddle https://jsfiddle.net/kjms16cw/

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>

【讨论】:

【参考方案9】:

我认为这是 El Capitan 的问题,不一定是 Xcode 7 或 iOS 9。https://developer.apple.com/library/prerelease/ios/releasenotes/General/RN-iOSSDK-9.0/index.html

【讨论】:

那么如何解决呢?选择图像很慢 按照提供的链接,但没有发现 El Capitan 是一个已知问题。请您澄清一下您指的是哪个部分。

以上是关于Xcode Simulator 动画在编辑器中播放时非常慢的主要内容,如果未能解决你的问题,请参考以下文章

使用 Xcode 5 iOS 模拟器制作慢动作动画

Xcode 5 iOS 7 Simulator 没有加载 Storyboard 让我抓狂! (没有本地化)

Xcode 9 —进阶的 iOS Simulator

无法在 Simulator XCode 6.0 中运行应用程序

Xcode Device Simulator的文档目录路径

iOS Simulator 自定义 City Run 在 Xcode 之外