Я работаю над простой программой, в которой 500 "частиц" имеют координаты x и y. Они перемещаются по экрану и реагируют на прикосновения. Когда я пробегаю 500 частиц, приложение начинает работать намного медленнее. Используя сэмплер ЦП, я обнаружил, что рисование частиц занимает больше всего времени ЦП.
Это код чертежа:
CGContextSetFillColorWithColor(context, [UIColor colorWithRed:red/255 green:green/255 blue:blue/255 alpha:1].CGColor);
CGRect rectangle = CGRectMake(xpos,ypos,9,9);
CGContextAddEllipseInRect(context, rectangle);
CGContextFillPath(context);
красный, зеленый и синий - поплавки, используемые для изменения цвета частиц в зависимости от их скорости, но это не проблема.
Так меня научили использовать Кварц, и он отлично работает для большинства рисунков, но этот код выполняется 500+ раз, и игра начинает замедляться. Я запустил программу с сэмплером ЦП с закомментированным кодом чертежа, и ЦП практически не используется, несмотря на все математические операции в фоновом режиме.
Есть ли более эффективный способ рисовать круги в iOS?