2009-05-18 4 views
0

Я разрабатываю игру, в которой мне нужно перемещать мяч и одновременно запускать изображение. Для перехода к представлению изображения с питанием создайте отдельный поток и вызовите метод перемещения с помощью [self performSelectorOnMainThread: ..], это необходимо для отображения обновленной позиции в представлении. Но моя игра замедляется после создания этой темы. , пожалуйста, помогите мне улучшить производительность игры.Game Slow down issue

ответ

1

Возможно, вы не хотите создавать свою собственную тему здесь; это, вероятно, медленнее, чем выполнение этой работы в основном потоке, если ваши вычисления невероятно сложны.

Вместо того, чтобы создавать свои темы, исследуйте CoreAnimation. Он предназначен для плавного перемещения вещей вокруг, прозрачно управляет своими потоками и обеспечивает интерфейс «fire-and-forget». Для большинства 2D-игр первым подходом, который вы должны следовать, является CALayers для каждого элемента, перемещаемого с использованием CoreAnimation.

+0

Согласен. Обсуждение этого вопроса может быть полезно для него: http://stackoverflow.com/questions/595922/how-do-i-prevent-core-animation-blocking-my-main-thread. –

1

Мы не разрабатывали и не записывали вашу игру, так как можно ожидать, что мы научимся ее исправить? Сделайте некоторые исследования самостоятельно, используйте отличные инструменты Apple «Инструменты» и «Акула» для отслеживания проблем.

+1

Это было грубо. – willc2

+1

Но справедливо и точно. –

0

Я настоятельно рекомендую вам взглянуть на cocos2d вместо ручного управления спрайтами и графикой. Cocos2d отвлечет все это от вас.