Xcode 模拟器中的屏幕更新错误

Xcode screen update error in simulator

自从我将 Xcode 更新为 9(现在我有 9.2)后,模拟器运行异常。它非常慢,主要问题是每次它必须更新屏幕时(当某些东西触发时,当某些视图移动时等)它不会更新到最后一帧。例如:如果我有一个 tableview 并且它更新了新结果,它们将不会显示,直到我进行新的移动(比如拖动 tableview),然后才会显示新结果。

它发生在每台设备上,同一个应用程序在真实设备上完美运行。

如果有帮助,我有 Sierra 10.12.6。

如果您有 Intel HD 3000 GPU(或类似的),则可能会发生这种情况。这是一个 GPU 驱动程序错误,不幸的是我目前没有适合您的解决方法。

在 Metal-capable Mac 上使用模拟器(或者切换到独立 GPU,如果你的机器有的话)应该可以解决这个问题。

我在 2011 年末配备 Intel HD 3000 显卡的 13" MacBook Pro 上也遇到过这个问题。我查看了 https://forums.developer.apple.com/thread/88446‌ 中描述的相关问题的解决方案,并认为我会尝试使用 FramebufferEmulationHint 的其他值。值“2”似乎对我有用:

defaults write com.apple.CoreSimulator.IndigoFramebufferServices FramebufferEmulationHint 2