Прежде всего: всегда измеряйте производительность только в релизных сборках. Отладочные сборки включают в себя утверждения, ведение журнала и, возможно, другие вещи, которые могут исказить результаты вашей производительности, обычно к худшему.
Если я правильно понял, вы говорите, что код ARMv6 работает плавно (60 к / с) на всех устройствах, тогда как сборка для ARMv7 с включенными инструкциями Thumb дает вам «небрежную» производительность. Я полагаю, что «на 30-50% хуже» означает примерно 30-45 кадров в секунду для кода ARMv7 на всех 3 упомянутых устройствах. Похоже, что у вас нет сопоставимого сценария тестирования, то есть игра начинается с одинакового количества объектов в одинаковых позициях, чтобы можно было точно сравнить производительность между устройствами. Трудно оценить реальные различия в производительности, если вы вручную воспроизводите сцену «много объектов», играя в игру.
Поскольку у вас уже включены инструкции ARMv7 и thumb, вы действительно должны получить хорошую производительность, особенно на устройствах 4-го поколения. Вы можете попробовать с отключенным большим пальцем и повторить тестирование. Вам также следует проверить уровень оптимизации вашей сборки выпуска, он должен быть: Самый быстрый, Самый маленький. В общем, проверьте настройки сборки на предмет любых записей, которые влияют только на ARMv6 или ARMv7 (такие записи отмечены стрелкой для их расширения).
Вам также следует убедиться, что ваша проблема производительности действительно связана с физикой. «Много объектов» означает, что на экране также есть «много спрайтов». Если они не спрайтованы, производительность может упасть намного быстрее. Если они также частично прозрачны, повернуты или масштабированы, производительность без пакетной обработки будет еще хуже.