Accelerometer samplerate

2019-08-01 06:50发布

问题:

I'm having some problems with the accelerometer. When I first started develop my game the controls felt very snappy and precise, but when adding more graphical elements the accelerometer feels like it's reacting very late and sometimes not as precise as before. I'm having a framerate of around 40fps.

This is where I read the values (as i'm supposed to I guess)

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

Is this a common and expected behaviour or can I do something about it? Can the sample rate and precision be controlled? Or have done something wrong if this happens?

回答1:

If your game felt responsive before and now it doesn't, then chances are that the accelerometer update rate isn't the issue. How are you propagating the accelerometer events up into the game loop? If your orientation updates are coming in at a rate faster than the main loop is consuming them, that can feel like additional latency.



回答2:

Yes, the sample rate can be freely adjusted:

//sample rate 100hz
#define kAccelerometerFrequency 100.0f

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