2010-08-16 11 views
1

Je travaille sur un jeu iPhone utilisant OpenGL ES. J'ai récemment mis à jour mon iPhone 3G vers iOS4, et depuis la mise à jour, lorsque j'ai commencé à tester mon application, la latence est très élevée sur mon accéléromètre et les événements tactiles - mon téléphone répond souvent une seconde plus tard que il devrait, ce qui rend le jeu injouable. Cela ne se produit pas tout le temps - environ la moitié du temps le jeu fonctionne parfaitement. J'ai mis en place l'accéléromètre en suivant les directives d'Apple; un de mes contrôleurs de vue appelle [UIAccelerometer sharedAccelerometer] dans sa méthode init et implémente la méthode déléguée appropriée qui saisit juste le composant x de l'objet UIAccceleration, et j'ai une autre vue connectée à un contrôleur de vue qui détecte les touches utilisant touchesBegan:withEvent: et les autres gestionnaires d'événements tactiles .Temps de latence ridiculement élevé pour l'accéléromètre et les événements tactiles iPhone

Je souligne que cela a bien fonctionné quand je courais 3.1.3. Je suis complètement coincé. Quelqu'un at-il déjà rencontré ce problème? Est-ce un bug connu avec la 3G et iOS4? Devrais-je mettre à jour CMMotionManager?

Répondre

1

Je pense qu'il a été largement rapporté que la 3G et iOS4 ne jouent pas bien ... manque de réactivité très lent sur tous. Vous seriez sage de faire des tests iOS4 sur un iPhone4 ou 3GS.

1

Les événements tactiles ne doivent pas être retardés. Ce que vous pourriez rencontrer est une certaine forme de retard de rendu (pas sûr de la profondeur du pipeline de rendu, mais dans de nombreux jeux PC, il est perceptible à framerate pas si bas), ce qui ressemble à un décalage d'entrée.

En dehors de cela, je ne sais pas. CMMotionManager produit beaucoup plus de données, mais ne fonctionne que sur iPhone 4 IIRC.