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