2011-01-04 5 views
0

J'utilise core-plot dans mon application iPhone pour afficher les données dans les tracés de NSMutableArrays. J'affiche 10 valeurs sur l'écran et j'ai laissé défiler horizontalement seulement comme cela je peux voir toutes les valeurs quand je défile. J'ai quelque chose comme 100-200 valeurs au total à charger. J'utilise différents tabBars pour gérer mes différents besoins.en retard lors du défilement

Tout fonctionne très bien, mais quand je lance mon application sur l'iPhone, j'ai quelques laggs monstrueux lors du défilement. Quelque chose comme 2 secondes après le déplacement du graphique (sur le simulateur il n'y a pas de laggs). Je recharge le graphique quand je secoue l'iPhone. Je travaille sur un 3GS, et aucune autre application ne fonctionne en arrière-plan.

Est-ce que quelqu'un avait et résolu quelque chose comme ça?

Avez-vous besoin de plus d'infos?

+0

Lorsque vous exécutez l'outil Time Profiler sur votre application, où est-il indiqué que le point d'accès est dans votre code lors du défilement? –

+0

Je ne suis pas sûr de bien comprendre votre question. Quand j'utilise un instrument (OpenGL ES), je peux voir le fps, et quand je défile, les fps sont entre 10 et 15, ce qui est très bas. Y at-il quelque chose à faire pour construire le graphique mieux que moi? comme séparer les tâches ou autre chose? – ciwol

Répondre

0

UITable (et UIScrollView) a un bogue dans lequel il provoque l'appel layoutSubviews sur son parent. Vérifiez pour vous assurer que cela ne cause pas votre problème. Si c'est le cas, vous pourrez peut-être le résoudre en enveloppant la table dans un autre UIView. Je le fais régulièrement pour éviter ce problème.

Une autre chose qui peut provoquer un défilement très lent est un grand nombre de masques, de transparences, etc. dans vos cellules. Pour cela, vous pouvez essayer de définir les vues en pixellisation, ce qui signifie qu'elles vont se dessiner une fois dans un tampon, plutôt que de se dessiner à chaque fois.

Questions connexes