it-swarm.com.ru

Низкая производительность приложения под симулятор iOS 8 с Xcode 6

После обновления до xcode 6 я обнаружил, что когда я запускаю свое приложение под iOS 8 в симуляторе iOS, оно работает очень медленно, независимо от того, выбираю ли я iPhone или iPad. Но если я выберу его для работы под iOS 7, он будет работать нормально. Я думал, что это проблема, связанная с приложением/кодированием, поэтому я попытался развернуть его на своем ipad с iOS8, и, как ни странно, приложение работает нормально, не так медленно, как симулятор Кто-нибудь работает на SO испытать эту проблему?

15
webchun

Производительность в iOS Simulator не должна соответствовать производительности на устройстве. Симулятор iOS предназначен для быстрого прототипирования и быстрой итерации. Настройка производительности должна быть сделана на реальных устройствах.

Процессы, работающие в симуляторе iOS, - это, в основном, процессы OS X, выполняющиеся в специально созданной среде выполнения в специальной начальной загрузке, которая ведет себя как iOS, а не OS X. За последние 4 года это произошло в основном из UIKit и подобных платформ iOS, построенных поверх OS X Frameworks теперь имеет собственный загрузочный сервер (начиная с iOS 7), нашу собственную dyld (начиная с iOS 8), и только разделяет ядро ​​Host и системные библиотеки очень низкого уровня (libSystem с iOS 7, и только pthreads , системные вызовы и дочерние платформы libSystem с iOS 8).

Когда вы тестируете приложение на устройстве, которое в данный момент не загружено, мы выключаем устройство и загружаем новое, и этот процесс может занять от 10 до 1 минуты или 2, чтобы завершить работу, в основном из-за пропускной способности ввода-вывода вашего диска и других задач в вашей системе этого требуют.

Если вы видите серьезные проблемы с производительностью на сим-устройстве, которое было загружено некоторое время и у вас нет каких-либо очевидных фоновых задач (компиляция, rsync и т.д.), Сделайте sysdiagnose и посмотрите на процессы симулятора в дампе спина и fs_usage, чтобы увидеть, что, вероятно, происходит.

7
Jeremy Huddleston Sequoia

Убедитесь, что «медленные анимации» не выбраны на вкладке «Отладка» в симуляторе iOS. Это решило проблему для меня. Возможно, он был включен случайно.

29
PolitikP

Если вы нажмете ⌘T, когда ваш симулятор выбран, он включит «медленную анимацию», которая переводит все в замедленное движение. ⌘T часто используется для открытия новой вкладки браузера, поэтому просто убедитесь, что выбран ваш браузер, а не симулятор.

10
Eric

Моделирование производительности и устройства разные вещи. Я думаю, что вы не должны обращать на это внимание. Эта ошибка может оптимизировать Apple

0
Pawel Molodkin