Чем ограничена производительность моего приложения iOS OpenGL ES 2.0?
В настоящее время я изучаю Objective-C. В качестве моего первого проекта я решил написать небольшое 3D-приложение для iOS, используя только OpenGL Es 2.0. Так что да, я учусь этому одновременно. Раньше я знал только основы старомодного OpenGL (без шейдеров), но я могу сделать (и реализовал) некоторые базовые математические и векторные математические вычисления.
Я делаю некоторые успехи, но производительность уже не так хороша. Я начал профилирование в Instruments (Xcode 3.2; у меня есть доступ к Xcode 4 через программу разработки на iOS, но я воздерживался от его использования из-за какого-то странного поведения), но я не совсем понимаю смысл данных:
Приложение (работающее на iPhone 3GS, iOS 4.2) работает со скоростью около 15 кадров в секунду, но использование устройств составляет всего около 40%, использование рендеринга - около 35%, а использование Tiler ниже 10%. Что это значит? Я связан автобусом? Я подумал, что мне нужно достичь почти 100% -ной загрузки по крайней мере в одной из этих трех статистик, прежде чем увидеть падение fps (и да, приложение может достичь 60 с очень простыми сценами).
На данный момент все, что делает приложение, это визуализирует граф сцены, содержащий 500 нетекстурированных кубов с нормалями, сгруппированных в группы от 1 до 6.