Problème ordre chargement swf externe

pacosxm Messages postés 21 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 14 avril 2011 - 16 févr. 2009 à 19:51
cs_djodjo07 Messages postés 7 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 10 mars 2009 - 10 mars 2009 à 09:09
Bonjour à tous,
j'aimerais savoir s'il est possible de donné une priorité au chargement de swf externe par rapport à d'autres.

un exemple : mon index charge ma séquence "accueil" et en même temps ma musique qui est également une séquence externe. Comment puis-je donner la priorité au chargement de "accueil" plutôt que ma musique qui est relativement lourde et ralentie le chargement de "accueil" ?

merci d'avance.

12 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
16 févr. 2009 à 20:14
Bonsoir,

Pourquoi ne les charges-tu pas l'un après l'autre, tout simplement ?

Peg'
0
pacosxm Messages postés 21 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 14 avril 2011
16 févr. 2009 à 20:18
parce que la musique démarre un peu avant la première séquence "accueil", elle fait 8Mo mais démarre en streaming. Mon soucis est que ce chargement ralentie terriblement le chargement des autres séquences tant que les 8Mo ne sont pas complètement chargés. J'aimerais que la séquence musique ne soit pas prioritaire si une autre séquence est en chargement.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
16 févr. 2009 à 20:27
une fois le chargement d'un MP3 lancé, à moins de tout arrêter, tu ne peux rien faire d'autre.

Mais 8Mo c'est trop gros, diminue plutôt la qualité de ton MP3 et ça sera déjà bien.

Peg'
0
pacosxm Messages postés 21 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 14 avril 2011
16 févr. 2009 à 20:35
Mon Mp3 est dans un player externe qui se charge en streaming.

Il n'y a donc aucun moyen de préciser à Flash que telle séquence est prioritaire sur une autre séquence en chargement ?
Pourtant, s'il est capable de charger 2 swf externes en même temps, on devrait pouvoir lui indiquer que swf2 stop swf1 et swf1 reprend quand swf2 est fini de charger. Non ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pacosxm Messages postés 21 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 14 avril 2011
16 févr. 2009 à 20:39
Je suis en CS4, peut-être ai-je soulevé un problème à proposer au concepteur pour le CS5?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
16 févr. 2009 à 20:58
c'est ta méthode qui n'est pas bonne :
Vouloir charger deux choses en même temps est une hérésie. Ta musique est bien trop grosse pour ce que tu fais (et pour le web en général).

Ou alors lance un préchargement de ta musique et à ce moment-là donne la main sur la navigation .. mais tu risque de voir beaucoup abandonner ton site avant d'y avoir accés.
Rappelle-toi qu'on n'est toujours pas en Fibre optique et que les serveurs ne sont pas tous égaux quand au débit fournis.

Le soucis ne vient pas de flash, mais de ta méthode et du poids de ton mp3.

Peg'
0
pacosxm Messages postés 21 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 14 avril 2011
16 févr. 2009 à 21:12
ben, ce site ne s'en sort pas trop mal (bien que je n'ai pas de fibre optique et je reçoit au maximum du 768K sur ma petite île). je cherche seulement des solutions pour l'optimiser au maximum.
Je te laisse juge : http://www.stmarteenservice.com/eng/indexeng.html
Merci de me dire ce que tu en pense...
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
16 févr. 2009 à 21:21
J'en pense que ton site est trop lourd et que tu n'as rien optimisé pour l'alléger...

Je pense surtout à la vidéo qui tourne en boucle du ciel de la page d'intro, de l'image par-dessus qui est 15000 fois trop grosses et des autres images qui n'ont pas été réduites ni en taille ni en compression pour êtres affichées sur le Web.

O-pti-mi-sa-tion !

Tu m'étonnes que ça rame au chargement ....

Peg'
0
pacosxm Messages postés 21 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 14 avril 2011
16 févr. 2009 à 21:43
toutes mes images sont au format d'affichage avec une compression, je n'ai pas de vidéo intégré, mas du clip (suite d'images compressées) et aucune de mes séquences (qui possède sont propre loader) ne dépasse les 500Ko (elles tournent autour de 350 Ko). Je suis malheureusement contraint par mon client a une taille d'image minimum, 9 photos par séquence, ce morceau de musique, etc...
pas facile d'optimiser plus que ça, à moins de compresser au max les photos, mais qui pour le coup perdent en qualité et non plus de raison d'être, je suis là pour vendre du paradis...
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
16 févr. 2009 à 22:04
là tu vend surtout un monstre ... 500Ko par séquences .. je te fais un site en 500Ko, moi ...

- Ton loader est une suite de 10 images animées alors que tu pourrais faire ça en vecto avec un masque pour moins de 2Ko
- Tu as des images multipliées (celles des boutons) autant que de boutons, alors qu'en vecto c'est tout aussi faisable et plus léger.
- Ton animation de bulles est énorme et ne se voit pas alors qu'un script bien sentis t'allègerais ça de 100Ko au moins
- Ton image de mer fait 661x882 alors qu'elle fait à peine 200 de large sur l'écran
- pareil pour la bonne femme en premier plan (qui pourrait être superposée avec une transparence sur la mer)
- tes images de ciel font 490x95 et sont au nombre de 40 ...tu les réduit en % à la largeur de ton image
- Ton swf de base pèse 642Ko pour un loader, 8 boutons et une image (découpée, on se demande bien pourquoi)
- Ta première animation fait 492Ko pour  une image un peu animée et un petit texte sur une image de fond
Où est-ce que c'est optimisé ?

Et encore, je n'ai regardé que les premiers swf ...

Le plus beau dans l'histoire c'est qu'en player externe (même pas sous un navigateur, donc optimisé et avec accélération matos - flash cs4) ça me pompe 80% du cpu (et j'ai pas une merde comme pc)

Peg'
0
cs_djodjo07 Messages postés 7 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 10 mars 2009
9 mars 2009 à 10:18
Salut à tous !

J'ai un autre souci plus ou moin identique à celui déja mentionné. Je suis en train de créer une visionneuse d'image en Flash. Tout fonctionne trés bien, sauf que en plus du diaporama je veux afficher les miniatures en-dessous. J'ai mis en place mon script, je lance le chargement de toutes les miniatures d'une galerie d'image, en utilisant un moviecliploader. Je positionne mes miniatures dans un clip sur la fonction monEcouteurDeClip.onLoadInit = function(mc). Et là surpris je me suis rendu compte qu'il chargeait en premier la dernière miniatures et continuait ainsi de suite en décrémentant. J'appel ma fonction de chargement pour chaque miniature, depuis une boucle for.

Alors est-il possible de définir l'ordre de chargement des images sur un moviecliploarder ? Je sens que je vais devoir faire encore un bidouillage.

Mon script ci-dessous :

// affichage des miniature
PositionDepar = -200;

for(m=1;m<=_root.nbImg;m++) {
   
    // récupére le chemin et le traite pour afficher l'image suivante
    var leCont:MovieClip = this.createEmptyMovieClip("ImgMini"+m, this.getNextHighestDepth());
       
   /* ici le script qui traite le chemin de mes miniatures je l'ai enlevé pour simplifier */
    chargeMini(leChem,leCont)
}

function chargeMini(chemMini,leClip,posDep) {
       
        var monClip_mcl = new MovieClipLoader();
        var monEcouteurDeClip = new Object();
       
        monEcouteurDeClip.onLoadInit = function(mc){
        if(mc._width>0) {
             lImg = mc._width;
             mc._x = PositionDepar+lImg;
             mc._y=-400;
             PositionDepar=mc._x+10;
            }
         }
       
        monClip_mcl.addListener(monEcouteurDeClip);
       
        monClip_mcl.loadClip(chemMini, leClip);
       
}

Merci
0
cs_djodjo07 Messages postés 7 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 10 mars 2009
10 mars 2009 à 09:09
Salut,

Finalement j'ai résolu mon problème tout seul :p
Pour ceux que ça intérresse Moviecliploarder ne donne aucune priorité au swf, image... qui est chargé, si vous en avez plusieurs il charge tout en même temps.

L'astuce est que ma fonction de chargement s'appelle elle même sur onLoadInit (quand le contenu de la première image du clip est chargé). Donc pour résumé tant que la première image n'est pas chargé, je ne charge pas la deuxième. Dans mon cas si j'arrive sur ma dernière miniature alors j'arrêtte le chargement.

Aprés je pense qu'il est possible de l'adapter a des swf externe ou autre.

Voici mon code :

// charge première miniatures

    // récupére le chemin et le traite pour afficher l'image suivante
    m=1;
    //var leCont:MovieClip = this.createEmptyMovieClip("ImgMini"+m, this.getNextHighestDepth());
    leChem = traiteChem(m);
    chargeMini(leChem,m);

function chargeMini(chemMini,numero) {
        var leCont:MovieClip = this.createEmptyMovieClip("ImgMini"+numero, this.getNextHighestDepth());
        label.text = "Hello World";

        var monClip_mcl = new MovieClipLoader();
        var monEcouteurDeClip = new Object();
       
        monEcouteurDeClip.onLoadInit = function(mc){
        if(mc._width>0 && numero<=nbImg) {
                 lImg = mc._width;
                 mc._x = PositionDepar;
                 mc._y= 0;
                 PositionDepar=mc._x+lImg+10;
           
                // charge la prochaine miniature quand celle-ci a fini de charger
                newNum = numero+1;
                lechemMini = traiteChem(newNum);
                chargeMini(lechemMini,newNum);
                test.text+=lechemMini;
               
           }
         }
       
               
        monClip_mcl.addListener(monEcouteurDeClip);
        monClip_mcl.loadClip(chemMini, leCont);

}

   
0