2010-11-27 4 views
3

Je me demandais, puis-je utiliser un minuteur CADisplayLink au lieu d'un NSTimer même si je ne fais pas d'animation? Je voudrais appeler une certaine méthode comme lorsque vous utilisez un NSTimer, juste à une fréquence beaucoup plus élevée (60 Hz serait bien), donc je me demandais si un timer CADisplayLink fonctionnerait même si la méthode simplement fait quelques calculs et pas d'animation ...Puis-je utiliser CADisplayLink en tant que NSTimer?

PS Je suis en train de tester sur un iPhone 4

Répondre

4

Je ne vois pas pourquoi pas. Vous pouvez même recevoir de meilleures performances de CADisplayLink car il n'exécute aucune animation. Le seul problème que vous pourriez rencontrer est la façon dont Apple Review Board aimerait que vous l'utilisiez.

Je suggère de regarder par-dessus le Class Reference avec le code échantillon avTouch fourni avant de l'utiliser.

+0

En réalité, cela fonctionne très bien :) – cgossain

+0

Pourquoi Apple aurait-il des problèmes avec l'utilisation de CADisplayLink comme une minuterie? C'est exactement ce pour quoi il a été construit, en particulier lorsque vous avez besoin de coordonner les actions avec le taux de rafraîchissement de l'affichage. –

+0

La référence de classe indique explicitement que l'objet CADisplayLink est utilisé pour synchroniser le dessin avec le taux de rafraîchissement de l'affichage. Le PO a déclaré qu'il en avait besoin pour les calculs. –