Проблема производительности двигателя

Я делаю гоночную игру, похожую на старую школу "Pole position" (вроде).

Я создаю свою дорогу из 50 прямоугольников (RoadFragment представляет собой прямоугольник с двумя дополнительными белыми маленькими прямоугольниками, прикрепленными для имитации обочин дороги):

   int y = 0;
    int widthCut = 8; // 4 przy 100 prostokatach, 8 przy 50
    for(int rectIndex = 0; rectIndex < rectangleCount; rectIndex++)
    {
        RoadFragment roadFragment = new RoadFragment(400, 0, 500, 300 / rectangleCount, RaceScene.vbom);
        roadFragments.add(rectIndex, roadFragment);
        this.attachChild(roadFragments.get(rectIndex));
        roadFragments.get(rectIndex).setY(rectIndex * 6);
        roadFragments.get(rectIndex).setWidth(500 - y);

        y = y + widthCut;

    }   

в onManagedUpdate сцены я перемещаю эти фрагменты:

    timeToUpdate = timeToUpdate + pSecondsElapsed;
    if(timeToUpdate > 0.00f){
        timeToUpdate = 0;

        for(int rectangleIndex = 0; rectangleIndex < rectangleCount; rectangleIndex++) {

            roadFragments.get(rectangleIndex).setX(getBezierX((float)rectangleIndex, (float)rectangleCount, 400, 400, 400 + curveOffset));

        }

    }

Как вы можете видеть в каждом обновлении, для каждого из этих фрагментов делается вычисление, чтобы переместить их на коэффициент, рассчитанный по кривой Безье. На сцене также есть несколько других спрайтов: фон параллакса, машина игрока, некоторые другие машины (но не более двух одновременно) и несколько других. Всего у меня нарисовано 150 прямоугольников и около 10 спрайтов.

Так, на Galaxy S5 он выглядит действительно красиво и плавно, но на более старых телефонах, таких как Galaxy S3 mini, он заикается и не воспроизводится. Вопрос: есть ли какая-нибудь хитрость, изменение или идея, которую я мог бы использовать, чтобы сделать это более плавным?

1 ответ

Может быть проблема в той части кода, где вы визуализируете эти прямоугольники? Вам нужно пакетировать спрайты.

http://www.andengine.org/forums/updates/spritebatch-2x-performance-improvement-anyone-t3613.html

Другие вопросы по тегам