2009-10-01 4 views
1

Je songe à réécrire le système de menu de mon application iPhone pour utiliser Open GL juste pour améliorer la fluidité du défilement d'une grande image (480x1900px) à travers l'écran.OpenGL me donnera-t-il une amélioration FPS sur CoreAnimation pour faire défiler une grande image?

Je cherche à faire cela comme un moyen d'améliorer l'utilisation de la méthode/solution comme décrit ici (Smoother UIView). Cette solution a été une grande amélioration par rapport à l'implémentation précédente, mais elle n'est toujours pas parfaite et comme c'est la première chose que l'utilisateur verra, je voudrais qu'elle soit aussi parfaite que possible.

Le passage à OpenGL me donnera-t-il le type de défilement lisse que je recherche? Je suis resté à l'écart d'OpenGL jusqu'à présent car c'est ma première application et l'animation de base a traité tout ce que j'avais déjà lancé, il serait bon de savoir si cette implémentation alternative est susceptible de fonctionner! merci

Répondre

6

Vous devriez utiliser CATiledLayer pour des images de cette taille. Des UIView docs:

Quelle que soit la version de l'iPhone OS est en cours d'exécution, vous devriez envisager l'aide d'un objet CATiledLayer si vous besoin de créer des vues plus que 1024 x 1024 taille.

Bill Dudney posted the CATiledLayer example de son livre Core Animation sur son blog. Sauf si vous construisez un jeu graphique intensif, vous ne devriez pas avoir besoin de tomber dans OpenGL. Core Animation devrait vous donner toutes les performances dont vous avez besoin.

Questions connexes