2009-11-12 8 views
1

J'ai quelques problèmes avec l'accéléromètre. Quand j'ai commencé à développer mon jeu, les commandes étaient très rapides et précises, mais lorsque l'on ajoute des éléments graphiques, l'accéléromètre a l'impression de réagir très tard et parfois pas aussi précisément qu'avant. J'ai un framerate d'environ 40fps.Accéléromètre samplerate

C'est là que je lis les valeurs (comme je suis censé je suppose)

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

Est-ce un comportement commun et attendu ou puis-je faire quelque chose à ce sujet? Le taux d'échantillonnage et la précision peuvent-ils être contrôlés? Ou avez-vous fait quelque chose de mal si cela arrive?

Répondre

3

Oui, le taux d'échantillonnage peut être ajustée librement:

 
//sample rate 100hz 
#define kAccelerometerFrequency 100.0f 

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

Si votre jeu se sentait répondre avant et maintenant, il n'a pas, alors il est probable que le taux de mise à jour de l'accéléromètre est pas la question. Comment propagez-vous les événements de l'accéléromètre dans la boucle du jeu? Si vos mises à jour d'orientation arrivent à un rythme plus rapide que celui de la boucle principale, cela peut vous donner l'impression d'une latence supplémentaire.

Questions connexes