Надеюсь, что есть эксперты по GLKViewController, потому что у меня есть некоторые проблемы:)
Просто краткое описание моего приложения.У меня есть UINavigationController, в котором я нажимаю разные экраны.
В какой-то момент я попадаю на экран игры, который является подклассом UINavigationController.На этом экране в viewDidLoad
я вручную создаю EAGLContext, GLKView и создаю новый GLKViewController (для обработки моих вызовов обновления и рисования).
Я устанавливаю предпочтительный fps равный 30.
* 1009проблема в том, что первые 3-4 вызова обновления приходят с правильным DT, но затем у меня есть 2-3 кадра с 1 секундой между ними.Я измеряю DT, используя
controller.timeSinceLastUpdate
.Таким образом, я получаю как:
dt=0.33
dt=0.33
dt=0.33
dt=1.07
dt=1.05
dt=0.33
dt=0.33
После этого я действую только DT раз.Я понятия не имею, почему эти кадры имеют такую задержку.Я измерил время, которое у меня уходит в методе update & draw, и оно нигде не приближается к 1 секунде.
Кроме того, я не загружаю никакие текстуры и не создаю геометрию.Все делается при загрузке, так как это довольно маленькая игра.
Кроме того, если я открою игровой контроллер экрана, а затем отодвину другой экземпляр игрового экрана, этот новый GLKViewController будет вызывать мой метод обновления только приблизительно каждые1 секунда.
Кто-нибудь имел проблемы с частотой кадров при использовании GLKViewController?
Спасибо,