2009-07-21 9 views
1

Imaginez une application pour iPhone, qui commence avec un UIView standard montrant quelques boutons et d'autres choses. Ensuite, il y a un bouton de statistiques, vous appuyez dessus, et l'UIView s'éloigne. Au lieu de cela, une vue OpenGL ES entre et affiche une belle courbe de statistiques.Est-il possible/performant de basculer entre une vue OpenGL ES et UIView dans une application?

Je sais que vous pouvez mélanger OpenGL ES avec UIView mais les gens disent que c'est une mauvaise idée. Est-ce que cela s'applique également si le tout est en plein écran soit openGL ES || UIView?

Répondre

1

Vous pouvez certainement le faire; J'ai une application OpenGLES qui utilise UIAlerts et UIActionSheets et ça marche bien. Je pense que vous voulez juste éviter de faire quelque chose comme avoir une couche OpenGL et ensuite un tas d'éléments d'interface utilisateur, puis une autre couche OpenGL transparente sur cela.

2

Dans mon application, je mélange également des éléments OpenGL et Cocoa UI sans mauvais résultats. Im même mettre UIView s sur une vue OpenGL et le résultat fonctionne bien. Si vous voulez le voir, dans mon profil, vous trouverez un lien.

1

Sur iPhone, vous restituez toujours dans UIView, et cette vue peut avoir des sous-vues comme les autres.

Il n'y a aucune différence entre avoir une seule vue OGL et permuter de nombreuses vues (y compris une vue OGL) avec le contrôleur de navigation ou l'animation de base. Le fait d'avoir des boutons ou des étiquettes sur la vue OGL ne ralentira pas votre application, mais vous devez vous assurer qu'ils ne couvrent pas une grande partie de l'écran et ne mettent pas à jour leur contenu trop fréquemment. C'est une mauvaise idée d'utiliser une étiquette de score à roulement rapide, mise à jour 20 fois par seconde, par exemple. Dans ce cas, vous devez limiter la vitesse de mise à jour ou utiliser les contrôles d'interface utilisateur basés sur OGL.

Assurez-vous que votre vue OGL est configurée comme opaque et n'utilise pas le format de pixel avec alpha, sauf si nécessaire. Les vues OGL mélangées alpha sont lentes.

Questions connexes