Скорость акселерометра - PullRequest
1 голос
/ 12 ноября 2009

У меня проблемы с акселерометром. Когда я только начинал разрабатывать свою игру, элементы управления были очень быстрыми и точными, но при добавлении большего количества графических элементов акселерометр чувствовал, что реагирует очень поздно и иногда не так точно, как раньше. У меня частота кадров около 40 кадров в секунду.

Здесь я читаю значения (как я и предполагал)

- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration;

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

Ответы [ 2 ]

5 голосов
/ 12 ноября 2009

Если ваша игра чувствовала отзывчивость раньше, а теперь - нет, то есть вероятность, что частота обновления акселерометра не является проблемой. Как вы распространяете события акселерометра в игровой цикл? Если обновления ориентации поступают с большей скоростью, чем их потребляет основной цикл, это может показаться дополнительной задержкой.

3 голосов
/ 12 ноября 2009

Да, частота дискретизации может быть свободно отрегулирована:

//sample rate 100hz
#define kAccelerometerFrequency 100.0f

//setup sampling rate
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0 / kAccelerometerFrequency)];
...