2012-09-15 5 views
1

Nous essayons de créer une animation de texte comme Transition et Zoom sur la vidéo.Animation de texte sur vidéo

Nous ne sommes pas en mesure d'obtenir une transition douce et l'effet est si saccadé. Ensuite, nous avons compris le rendu sous-pixel n'est pas possible dans Android. À quelles alternatives pouvons-nous penser? Pouvons-nous résoudre ce problème dans OpenGL?

Ok ... Je voudrais ajouter plus à ma question .... Nous essayons réellement d'implémenter des animations de texte au-dessus d'une vidéo qui est jouée par un joueur indigène sur une vue extérieure. Nous avons essayé de réaliser les animations de texte en utilisant les API Canvas android pour redimensionner, traduire et dessiner le texte. Cela fonctionne mais la sortie n'est pas si lisse. Nous avons vérifié que ce n'est pas un problème de performance. Même si nous rafraîchissons les images à plus de 30 images par seconde, la saccade est visible. Ensuite, nous avons essayé d'utiliser android Views pour obtenir ces animations et observé que les animations sont lisses au démarrage lorsque l'accélération matérielle est activée. Mais même l'animation du système android View ne parvient pas à donner de bonnes animations d'échelle de qualité lorsque l'accélération matérielle est désactivée. Ceci n'est pas un problème de performance puisque nous avons essayé de vider chaque image dans un bitmap et vérifié chaque image sur PC. Donc, il semble que la bibliothèque graphique SKIA utilisée pour dessiner sur Canvas lorsque l'accélération matérielle est désactivée, n'est pas capable de rendre le sous-pixel ou quelque chose de ce genre. Par exemple, lorsque je cours une animation à échelle lente (une échelle d'environ 0,15 en environ 6 secondes), les mises à jour d'échelle se produisent d'un pixel dans environ 3 cadres. Mais si la même animation est exécutée sur une vue matérielle accélérée, chaque image met à jour une fraction de pixel et l'animation de l'échelle semble très lisse.

Je peux sûr utiliser les animations de vue lors de la prévisualisation. Mais j'ai besoin de ces tampons d'animation et de les encoder avec la vidéo. Toute entrée sur l'obtention de ces tampons, avec l'accélération matérielle activée, aiderait. J'ai essayé le cache de dessin, mais cela semble être dessiné en utilisant le pipeline de rendu de logiciel et non matériel.

Répondre

0

Les transitions douces et les animations saccadées n'ont rien à voir avec le rendu sous-pixel.

Le problème semble être que la synchronisation de votre fonction de rendu n'est pas correcte. N'utilisez pas de minuteur d'intervalle pour déclencher le rendu d'une image. Vous devez placer le rendu et l'animation dans le gestionnaire d'inactivité de la boucle d'événements de votre programme et mesurer le temps nécessaire pour rendre un cadre. Puis avancez l'animation à ce moment-là.

+0

Merci pour votre réponse. Je vais vérifier ça. –