7
votes

Toute raison d'utiliser Nsview Animation sur les techniques d'animation de base?

Je travaille sur une application de Snow Leopard et je fais des animations de vue (les échangeons) et j'ai vu des exemples plus anciens à l'aide de Nsviewanimation. Je me demande si celles-ci sont complètement obsolètes par l'animation de base?

Il semble assez simple pour moi d'utiliser xxx

mais je me demande simplement si je me demande si je manque quelque chose, ou si NSViewanimation est toujours pertinent (autre que pour la compatibilité à l'envers).


0 commentaires

3 Réponses :


5
votes

Généralement, vous devez passer à l'animation de base pour 10.5+ Code. Nsviewanimation est assez primitif et ne fait pas l'utilisation efficace du matériel. Je ne peux penser à aucun avantage de rester avec nsviewanimation autre que 10.4 Compatibilité.


0 commentaires

3
votes

Il y a des cas où l'animation de base ne convient pas. Par exemple, vous ne pouvez pas mettre un webview dans une vue à bord de la couche sans que des choses funky se produisent.

En outre, les champs de texte dans les vues sauvegères de couche n'utilisent pas d'anti-aliasing sous-pixels, ce qui peut être un drapant deal.

Si vous n'utilisez pas de vues sauvegères sur couche, votre exemple d'utilisation de la propriété animatable est certainement plus facile que d'utiliser Nsanimation.


8 commentaires

Comme je suis profondément plus expérimenté avec Uikit et ses techniques d'animation, quelle est la différence sur le Mac entre utiliser des vues soutenues sur couche et simplement utiliser l'animateur d'une vue?


Le proxy d'animateur n'a rien à voir avec une corporation. NSView NSView non sur une couche ne supporte-vous que des vues sur les couches.


En tant que note, les champs de texte des vues sauvegères de couche peuvent utiliser l'antialiasing sous-pixel. Vous devez définir l'arrière-plan du champ de texte sur une couleur opaque et définir la propriété Drawsbackground sur Oui. Voyez ici: Cocoabuilder.com/archive/Message/cocoa/2008 / 3/28/202581


Oui, je sais que vous pouvez ajouter un antécédent au NStextfield et ça va chercher ok. Mais ce que j'ai dit reste, vous ne pouvez pas utiliser un NStextField sur une vue soutenue par couche dans de nombreuses situations sans le texte à la recherche d'ordures. Si l'arrière-plan est une image ou un autre dessin personnalisé, vous ne pouvez pas ajouter d'arrière-plan et la seule solution de contournement pour que le texte à la recherche est décent, c'est utiliser une CATEXTLAYER.


@kperryua, l'affiche originale a posé des questions sur l'animation de base vs. Nsviewanimation. Les vues reculées sur la couche font partie de l'animation de base, au moins elles sont dans mon livre, de même que le proxy d'animateur.


@jbrennan Vous pouvez utiliser le proxy d'animateur d'une vue "normale" sans problème. Vous pouvez utiliser des vues soutenues dans les couches pour des vues contenant des contrôles que vous devez animer avec des performances élevées, car l'animation des vues sauvegères de couche est déchargée sur le GPU. Cela ne se produit pas avec des vues non adossées à la couche animées à l'aide du proxy d'animateur.


@ROB: Donc, si ma vue est sauvegarde de la couche (car disait que j'ai beaucoup de sous-espages, ils deviendront ainsi une couche de couche aussi), alors l'animation effectuée à travers le proxy sera déchargée au GPU? Les caanimations / autres citrons sont-elles juste pour quand vous voulez faire des choses vraiment avancées?


Cela dépend de ce que vous animez. Si vous modifiez le contenu de la vue, le GPU ne peut pas animer que le bitmap pour que le calque doit être calculé puis ré-copié dans le GPU. Si vous déplacez, tournez, changeez Alpha, etc., cela est définitivement accéléré par GPU avec des vues soutenues par couche.



0
votes

Si vous devez obtenir une capture d'écran de fenêtre ultérieurement (comme exemple, pour effectuer une animation de transition entre deux états de fenêtre), les vues animées de noyau (vue avec Caanimation ) ne peuvent pas être saisies. Mais Caanimation fonctionne toujours rapidement et Nsanimation peut ralentir si le processeur est trop occupé.


0 commentaires