У меня есть отрендеренная сцена, на рисование и отображение которой уходит до 14 мс.поэтому приложение работает без каких-либо проблем со скоростью 60 кадров в секунду.
, но когда я начинаю двигать пальцами по устройству, я вижу, что время значительно увеличивается.Это может занять до 4 мс.
Конечно, в этом случае моя сцена больше не отображается в 60 fsp.это нормально?Может быть, есть более быстрый способ обнаружения мультитача?
Мой метод мультитача такой:
public boolean onTouchEvent(MotionEvent ev) {
// TODO Auto-generated method stub
int nbPts = ev.getPointerCount();
if (nbPts > _nb_touch_detect) nbPts = _nb_touch_detect;
int pointerIndex = ((ev.getAction() & MotionEvent.ACTION_POINTER_ID_MASK) >> MotionEvent.ACTION_POINTER_ID_SHIFT);
int pointerId = ev.getPointerId(pointerIndex);
int action = (ev.getAction() & MotionEvent.ACTION_MASK);
int pointCnt = ev.getPointerCount();
if (pointCnt <= nbPts)
{
if (pointerIndex <= nbPts - 1)
{
for (int i = 0; i < pointCnt; i++)
{
int id = ev.getPointerId(i);
x_touch[id] = (int)ev.getX(i);
y_touch[id] = (int)ev.getY(i);
}
switch (action)
{
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
case MotionEvent.ACTION_MOVE:
isTouch[pointerId] = true;
break;
default:
isTouch[pointerId] = false;
}
}
}
return true;
}