Проблемы с производительностью MonoTouch? - PullRequest
1 голос
/ 29 июня 2011

Я работал над игрой, основанной на физике, используя MonoTouch для iPhone и XNA для Windows Phone 7. Игра отлично работает на Windows Phone 7, но на iPhone я обнаружил некоторое отставание в операциях, связанных с процессором .

Причина, по которой я подозреваю, что замедление происходит из-за операций с процессором, заключается в том, что, если я отключаю физику, игра работает со скоростью 60 кадров в секунду, только когда я ее включаю, она пыхает и пускает даже больше, когда много вещей происходит на экране. Я использую движок Farseer Physics, который был написан для XNA, но отлично работает на iOS через MonoTouch.

Разница в производительности между wp7 и iPhone довольно существенна, что наводит меня на мысль, что может происходить что-то, что ухудшает производительность, чего я не вижу.

Так что я просто хотел узнать, не было ли у кого-нибудь здесь подобных проблем с производительностью с monotouch и как они их преодолели? У меня есть несколько идей, касающихся многопоточности, но я чувствую, что iPhone (в частности, iPhone4) должен уметь обрабатывать физику в стиле Angry Birds, учитывая, что Angry Birds - игра для iPhone.

1 Ответ

2 голосов
/ 29 июня 2011

Первый шаг - определить источник замедления, следуя инструкциям по профилированию:

http://monotouch.net/Documentation/Profiling

Простой способ повысить производительность - использовать опцию генерации кода LLVM. Сборки занимают больше времени, но дают лучший код.

...