IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH 8] cacheAsBitmap semble inefficace


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent

    Avatar de Anomaly
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 379
    Billets dans le blog
    1
    Par défaut [FLASH 8] cacheAsBitmap semble inefficace
    Bonjour

    J'ai un autre souci assez ennuyeux avec mes pages swf converties depuis des pdf. Mon application est toujours le catalogue, son principe étant de :

    a) créer une zone d'affichage avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var zone = racine.createEmptyMovieClip("catalogue", 0);
    zone._x = x;
    zone._y = y;
    zone.beginFill(0xeeeeee);
    zone.lineStyle(1);
    zone.moveTo(0, 0);
    zone.lineTo(w - 1, 0);
    zone.lineTo(w - 1, h - 1);
    zone.lineTo(0, h - 1);
    zone.lineTo(0, 0);
    zone.endFill();
    b) charger les pages (pas nécessairement celle qui doit être affichée, en effet certaines seront chargées en avance) avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    var cible = zone.createEmptyMovieClip("ecran" + numEcran, numEcran);
    var mcl = new MovieClipLoader();
    var largeurZone = zone._width;
    var hauteurZone = zone._height;
    var obj = this;
     
    mcl.onLoadInit = function(cible) {
    	// Point 3
    	cible._visible = false;
    	cible._xscale = 100 * largeurZone / cible._width;
    	cible._yscale = 100 * hauteurZone / cible._height;
    }
     
    // Point 1
    mcl.loadClip(baseFichier + numEcran + ".swf", cible);
    // Point 2
    Si j'utilise du .jpg, hormis le temps de chargement lui-même (que je peux matérialiser en utilisant mcl.onLoadProgress), l'affichage est ensuite instantanné une fois que le clip existe (bien que l'affichage soit dégradé... quelqu'un sait pourquoi Flash dégrade volontairement la sortie d'un .jpg ? même en fixant _quality à "BEST" ?)

    Mais si j'utilise, comme ci-dessus, du .swf complexe (généré depuis un pdf très complexe), outre le temps de chargement il y a un "temps de rendu" de plus d'une seconde pour afficher la page, et même si le clip est déjà chargé, quand je passe d'une page à l'autre (je rend invisible la page actuelle et rend visible la page nouvelle), il y a ce temps d'attente pour le rendu.

    J'ai donc pensé naïvement que la solution serait dans cacheAsBitmap afin que le rendu ne soit fait qu'une seule fois. Le problème c'est que ça ne change absolument rien.

    Si je met cible.cacheAsBitmap = true; au Point 1 ou au Point 2, la propriété apparaît à "false" une fois le clip chargé. Si je la met au Point 3, la propriété apparaît bien à "true", mais dans aucun des trois cas, il n'y a d'amélioration de la vitesse de l'affichage, après un _visible = false suivi d'un _visible = true. Quelqu'un a une idée pourquoi ?

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut
    Salut Anomaly,

    Je ne pense pas que ta solution soit dans le cacheAsBitmap. Cela sert surtout lorsque tu anime un clip avec des images qui ne changent pas. Coté chargement des jpg, il est normal que flash les "dérade" un peu, le jpg n'est pas du vectoriel
    Pour ce qui est du temps d'affiche c'est un peu plus problématique... tu as testé quand est appelé le onLoadInit ? Lorsque tu charges un contenu (image, swf, ...), il y a toujours un (petit) délai entre la fin du chargement et l'affichage dans le flash, et plus ce contenu est lourd/complexe, plus ce temps est long (d'ailleurs tu devrais voir le proc turbiner à fond à ce moment-la). On peut difficilement faire quelque chose à part alléger le contenu

    @++

Discussions similaires

  1. [MySQL] Concurrence d'accès entre 2 scripts PHP en parallèle : LOCK TABLES semble inefficace
    Par brunoperel dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/11/2010, 17h27
  2. Réponses: 3
    Dernier message: 18/01/2010, 16h15
  3. Ma bannière flash semble se télécharger 2 fois selon FireBug.
    Par anxious dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 03/01/2010, 01h30
  4. Flash & Builder ?
    Par Vince78 dans le forum C++Builder
    Réponses: 4
    Dernier message: 06/06/2002, 08h56
  5. Passage de parametre a une anim Flash 5
    Par debug dans le forum Intégration
    Réponses: 4
    Dernier message: 03/06/2002, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo