Приложение, которое я создаю, должно рисовать около 400 четырехугольных фигур на экране с плавной частотой кадров. Формы 255 перестановок и нарисованы повернуты в любом месте от 0 до 360 градусов. Я не думаю, что предварительный рендеринг будет эффективным, учитывая объем памяти, который потребуется (хотя я могу ошибаться). Они также имеют 24-битную цветовую гамму. Прямо сейчас я рисую их путями, и все вращение и перемещение обрабатываются функцией, генерирующей значения. Хотя эта реализация работает (все с низкой частотой кадров, например, 25), я просто чувствую, что есть более эффективный способ сделать это. Честно говоря, openGL и java выглядят довольно запутанно, но если это единственный вариант, я бы все понял и изучил.
TL; DR
Является ли этот код наиболее эффективным для постоянно меняющихся форм?
void quad(Canvas canvas,Paint paint, float x1,float y1, float x2,float y2, float x3,float y3,float x4,float y4, float xoff, float yoff, int color){
float[] hsvc = { map(color,0,100,0,360),.8f,1};
paint.setColor(Color.HSVToColor(hsvc));
Path path = new Path();
path.moveTo(x1, y1);
path.lineTo(x2, y2);
path.lineTo(x3, y3);
path.lineTo(x4, y4);
path.close();
path.offset(xoff, yoff);
canvas.drawPath(path, paint);
}
Спасибо!