Scinder une vue pour améliorer fluidité et compatibilité

Explications sur le fonctionnement de la V5
Répondre
Avatar du membre
Administrateurs
Messages : 461
Enregistré le : lun. 14 mars 2005, 17:07
Localisation : Marseille / Champagne/Seine
Contact :

Scinder une vue pour améliorer fluidité et compatibilité

#1

Message par Administrateurs »

Comment modifier un montage en vue d'améliorer sa fluidité et sa compatibilité avec les cartes graphiques anciennes (32 Mo de mémoire et puissance de calcul limitée) :
Analyser chaque vue et s'assurer qu'elle ne peuvent être remplacées par plusieurs vues plus légères. L'exemple ci dessous se limite à une vue qui est plus une séquence qu'une vue. Cet exemple est tiré d'un cas concret ou 3 ou 4 vues ont été traitées.
Les fichiers exemples sont téléchargeables ici

1 Analyse du montage :
Durée de la première vue : 104.367 secondes.
8 Photos au format 1500 x 957
1 cache PNG 1600 x 1200
1 titre au format 800 x 600
Soit un total de 69.4 Mo en mémoire de la carte graphique (Voir tableau 1).

:160:Image

:160::160:Tableau 1

Premier point, une vue trop lourde dans les 2 premières vues d'un montage, dans l'état actuel de la V5, peut planter un certain nombre de PC (écran noir, avec ou sans musique). Il faudra faire en sorte que les 2 premières vues soient moins lourdes mais soient suffisamment longues pour laisser du temps au chargement des fichiers des 2 vues suivantes.

Deuxième point, le masque de 1600 x 1200, utilisé 2 fois dans la vue peut être avantageusement être remplacé par 4 rectangles noirs masquant les débordements dus au zoom. Cela fera un gain, non seulement au niveau mémoire graphique mais aussi et surtout au niveau puissance de calcul nécessaire (l'un des 2 caches aurait pu être mis en opacité à 0%, il n'aurait ainsi plus nécessité de puissance de calcul supplémentaire).

Troisième point, toutes les images ne sont pas utilisées en même temps, il est donc possible, comme le montre le tableau 2 de réaliser la même séquence sur plusieurs vues de façon à alléger la charge en mémoire graphique.

:10:Image

:160::160::160:Tableau 2

Quatrième point, les images étant au ratio 1.618 (nombre d'or), et un bord noir étant prévu autour de l'image (50 pixels), il est possible de choisir le format d'écran 16/10 au lieu du 3/4 prévu, ainsi il y a moins de calculs à effectuer (représentation d'une partie du cache à l'écran inutile, celui-ci étant noir).

2 Modifications apportées :
Une analyse un peu plus poussée montre que la photo 1 n'est plus visible entre la 38ème et la 55ème seconde (elle est au plus pour 2% de l'image, donc indécelable), autant que dans cette période elle soit à 0% d'opacité, ainsi elle ne sollicitera plus de puissance de calcul.

Les 2 premières vues peuvent n'être composées que de la photo 1 et d'un cadre (frame = rectangle transparent).
Les images qui doivent être chargées dans cette période de temps sont les Photos 2 et le titre. Soit un total de 7.31 Mo, une durée minimale de 750 ms garanti que le temps de transfert entre mémoire vive et mémoire graphique sera suffisant sur les machines les plus faibles (10 Mo/s de taux de transfert).

Nota à propos du titre, celui-ci pourrait être réduit à une taille de 384 x 204 au lieu de 800 x 600, les parties transparentes excédentaires consommant mémoire graphique et puissance de calcul.

En choisissant une durée de 500 ms pour chacune de 2 vues de départ, on respectera largement les conditions. Il ne faut pas que la première vue ait une transition instantanée, par contre un fondu-enchainé même de 20ms suffit pour éviter le plantage au démarrage (je n'ai pas d'explications à fournir, simple constat sur des centaines de tests pour Wnsoft). Les transitions suivantes peuvent être des transitions instantanées sans aucun problème.

En découpant la séquence tel que les montrent les tableaux 2 et 3, on voit que l'on peut diminuer la charge de la mémoire graphique, la suppression des caches quand à elle (le raccourcissement de la présence de la Photo 1 aussi), permet des temps de calcul plus courts, dont une plus grand nombre d'image par seconde et partant de là une meilleure fluidité.

:10:Image
:160::160::160:Tableau 3

La séquence, initialement, sur une vue peut donc être réalisée sur 10 vues beaucoup moins lourdes sans aucune différence sur le résultat sinon une meilleure fluidité et la capacité de tourner avec des cartes graphiques dotées de 32 Mo de mémoire.

Les points de transition (instantanée) entre ces vues seront à :
500, 1000, 28 000, 38 000, 55 000, 65 863, 75 000, 84 000 et 102 000 ms soit 10 vues au lieu d'une. La charge en mémoire graphique passera ainsi d'un peu plus de 69 Mo à un peu plus de 27 Mo en valeur maximale.

3 Mise en oeuvre du découpage :

Première opération, mettre 2 vues provisoires en début de montage pour ne pas planter le PC (si celui-ci n'est pas assez puissant), toutes les vues ont leur numéro incrémenté de 2 par rapport à l'original.

Deuxième opération : remplacer les fichiers cache PNG (voir fichier Modification 01.pte, vue 3) par des rectangles (Voir fichier Modification 02. PTE vue 3). Au passage vous noterez la présence d'un carré décrivant un cercle, il n'est là qu'à titre provisoire et n'a pour but que d'apprécier la fluidité du montage.
Son déplacement hésitant sur les machines faibles ou moyennes dans le premier fichier s'améliore nettement dans le second après le remplacement des caches PNG.
Toutes les vues ne nécessiteront qu'une partie des photos de la séquence.

Pour les photos qui seront à cheval entre 2 ou plusieurs vues, les paramètres PZR, opacité et centre devront être les mêmes entre la fin d'une vue et le début de la suivante.
Pour ne pas à avoir à faire le calcul et la saisie de ses valeurs, on va utiliser une méthode laissant le soin à PTE de faire ce travail, seules des soustractions pour trouver (et saisir) les nouvelles valeurs des points de contrôle seront nécessaires.

Troisième opération : créer des points de contrôle aux valeurs définies ci-dessus sur un objet n'en ayant qu'un au début (à la limite, s'il n'y en a pas, on peut rajouter un rectangle pour cela, rectangle qu'on supprimera en fin de travail).
Dans l'exemple fourni, c'est le rectangle 1600 x 1200 qui va être utilisé pour ça (Voir fichier Modification 03.PTE, vue 3, Rectangle 1600 x 1000), les points de contrôle correspondant au futur découpage sont positionnés.

Quatrième opération, remplacer le fichier Titre 800 x 600.png par le fichier Titre 384 x 204.png et le positionner de la même façon (y compris pour l'opacité), puis copier et recoller la vue autant de fois qu'il y aura de vues en final pour remplacer la vue en cours (Voir fichier Modification 04.pte, la vue 3 a été recopiée 9 fois, donc 10 vues identiques au total).

Cinquième opération, sur chacune des 10 vues :

1 - sur le rectangle 1600 x 1000, détruire tous les points de contrôle hormis les 2 qui délimitent la période concernée par la vue en cours.

2 - détruire tous les objets non concernés par la vue en cours (tous ceux non présents à l'écran pendant la durée de la vue.

3 - pour les objets restants : après s'être positionné sur le premier point de contrôle du rectangle 1600 x 1000, créé, s'il n'y en a pas à cet endroit un point de contrôle sur chacun des objets et détruire tous les points de contrôle situé avant.

4 - Recommencer l'opération avec le point de contrôle délimitant la fin de période sur le rectangle 1600 x 1000, mais cette fois-ci ce seront les points de contrôle situé après qui devront être détruit.

Attention lorsque vous créez un point de contrôle trop près du début, il ne conserve pas la valeur de la position, il faut la ressaisir, par contre tous les paramètres PZR etc sont eux bien pris en compte.

5 - Une fois cette opération réalisée, noter la valeur de la position du premier point de contrôle puis modifier la valeur des points de contrôle des objets en soustrayant la valeur notée, cela pour tout les points de contrôle sauf le dernier de chaque objet.

6 - Positionner ensuite le curseur en fin de vue puis sur chaque objet, créer un point de contrôle en fin de vue et supprimer l'ancien dernier point de contrôle. Cette opération a en fait pour but de faire une copie de l'ancien dernier point de contrôle avec tous ses paramètres, mais de faire en sorte qu'il soit rattaché à la fin de la vue et non au début.

7 - La dernière action consiste à mettre la durée de la vue à la durée comprise entre les 2 points de contrôle qui délimitait la période affectée à cette vue. (Voir fichier Modification 05.PTE, les vues de 3 à 6 sont entièrement traitées, la 7 est en cours les suivantes ne le sont pas encore) et modifier les points de contrôle du rectangle 1600 x 1000 afin qu'il n'y en ait plus qu'un en début.

Sixième et dernière opération : après avoir traitées les dix copies, il est maintenant possible de détruire les 2 vues temporaires qui avaient été mise au début, et de contrôler dans la fenêtre de synchronisation que l'ancienne vue 2 devenue vue 11 commence bien à la même valeur qu'auparavant, 104.367 secondes dans l'exemple (Voir fichier Modification 06.pte).

4 Conclusions
Toutes ces opérations peuvent sembler complexes ou rébarbatives, mais en fait lorsque le principe a été assimilé, c'est très simple à faire, cela demande un peu d'attention, la seule chose pénible dans cet exemple est d'avoir à soustraire pour l'une des vues la valeur 65863, ça oblige à un calcul mental un peu plus difficile (ou prendre une calculette). Dans la pratique, il m'a fallu 20 minutes d'analyse (pas aussi pointue que dans cette explication) et 1h45 pour réaliser les modifications sur 3 vues.

Il est évident qu'il vaut mieux dès le départ faire des vues allégées plutôt que des vues-séquences longues et lourdes, mais il est facile de couper une vue en deux ou plusieurs vues. L'exemple ici étant tiré d'un cas réel était assez complexe, mais la plupart du temps, l'opération se limite à couper une vue en 2 et c'est assez rapide.

Les tests faits sur les résultats montre une très nette amélioration au niveau fluidité, et le montage ne plante plus les machines moyennes ou faibles, presque tout le monde peut le visionner. (le test fluidité a été remis temporairement sur les vues 3, 4 et 5 de Modification 06.pte)
Avatar du membre
Administrateurs
Messages : 461
Enregistré le : lun. 14 mars 2005, 17:07
Localisation : Marseille / Champagne/Seine
Contact :

#2

Message par Administrateurs »

Sur ce fil,
medericke a écrit :Jean Pierre je viens de lire ton optimisiation et bien chapeau!!!.

Elle risque peut être d'effrayer un certain nombre , qui comprendront que en plus du travail de la photo , de celui de la recherche de la musique , et enfin du "scénario " de montage, il faut maintenant ajouter une étape qui est celle de la conceptualisation et de l'optimisation technique.
Cette dernière étape aura le mérite de garantir la reproduction sur pratiquement n'importe quel type de machine, mais elle peut être vue comme une étape contraignante.
Pour prendre une image du milieu artistique que j'ai pas mal fréquenté, nous étions plus dans le domaine des saltimbanques, il va falloir aussi intégrer une démarche de géomètre.

Démarche intéressante certe , mais aussi contraignante, tout dépend de quel point de vu on se place.
On risque donc, de voir un certain nombre d'utilisateurs rejetter cette V5 sous prétexte que pour présenter des diaporamas "on recherche un logiciel simple sans connaissance préalable" .
Je sais que tu répondras que dans la V5 on pourra continuer a faire comme en V4 , c'est peut être là la solution effectivement, ne rien priver de ce qui existait et donner a ceux qui le désire la possibilité de le faire plus en contre partie d'un investissement dans la conceptualisation "technique".
_________________
Patrick

Si j'ai mis tout le détail, c'est pour ne pas laisser de zones d'ombres, et que ceux qui en ont besoin l'aient sous la main, mais j'ai aussi précisé qu'il valait mieux, dès le départ faire des vues légères, et là, les règles sont élémentaires, tout comme dans la V4 ou un minimum de règles sont à respecter :
V4 : durée des vues suffisantes pour charger et décompresser le fichier plus un temps dépendant du type de transition et de la taille du fichier plus 30 ms si le montage est synchronisé.
V5 : Durée suffisante des vues pour charger les images de mémoire vive à mémoire graphique, éviter de dépasser les 24 Mo d'images sur 3 vues consécutives, faire les vues les plus simples possible quitte à en avoir 3 au lieu d'une.
Au final ce n'est pas plus compliqué.
Personne ne calcule tous les paramètres pour la V4 et tout le monde s'en sort plus ou moins bien au pifomètre, il en sera de même avec la V5. Il faut juste étalonner le pifomètre.
Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité