Я пытаюсь поднять свой FPS на iPhone 3Gs с 30 как можно выше ... и я столкнулся с несколькими проблемами и подумал, что было бы лучше попросить совета.
1) Что именно означают столбцы «Использование рендерера» и «Использование тайлера» в инструменте OpenGL ES?Мой процент использования Tiler чрезвычайно низок, а использование Renderer Utilization имеет тенденцию падать во время взаимодействия с пользователем и когда приложение переходит в альбомный режим.Я заметил, что мой FPS имеет тенденцию падать, когда значение Renderer Utilization также падает.Мое падение FPS в ландшафтном режиме особенно странно для меня, потому что портретный режим и ландшафтный режим используют одинаковую игровую логику и текстуры ... а ландшафтный режим фактически отображает меньше вершин / треугольников для загрузки (некоторые части пользовательского интерфейса ненарисовано вообще в альбомном режиме).
2) Я уже выполнил большинство рекомендованных оптимизаций в видео ngmoco / Stanford, и единственное, что я могу сделать, осталось изменить GLfloats на GLshorts и чередоватьмои вершины с моими координатами текстуры в один массив.Могут ли какие-либо из них иметь большое влияние на мой FPS?Это 2D-игра-спрайт с множеством больших, детализированных текстур ...
3) Какой более быстрый способ скрыть многоугольник: установить все его вершины в одинаковые координаты (по сути, уменьшить его до точки) или устанавливая его альфа-значение на 0?Я предполагаю, что это первое, поскольку смешивание медленнее и особенно дорого на iPhone.
4) В настоящее время я использую 2 512x512 текстур, 1024x512 текстур и 256x256 текстур.Я обратился за советом о том, как лучше всего справиться с этим, и мне сказали не объединять их в текстуру 1 1024x1024 из-за проблем с памятью на iPhone 3G.Я хотел бы подтвердить это здесь, потому что, если я помещу все в одну текстуру, я могу устранить необходимость многократного вызова glBindTexture ...