La Communauté Webmaster  forum rss


  Forum-webmaster
  Webdesign / graphisme
  Flash / Director
(Modérateurs: Shain, Netah, Lilian, lauryv, ToToMaStEr)
  swf lent que faire?
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: swf lent que faire?  (Lu 1380 fois)
swf lent que faire?
« sur: le 25-08-2004 a 16:28:49 »
mathdoy
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 7





Voir le Profil    WWW    E-Mail
Répondre avec citation

Bonjour j'ai un probleme avec les swf que j'exporte...
il sont au relenti sur un pentium 3, il prend plus de 85% du cpu de la machine.

parcontre sur un pentium 2.66 il roule très bien, mais prend quand meme 50% et plus du cpu je ne crois pas que ça sois normal.

lors des animations elle "lag".

que dois-je faire pour corriger le problème.

j'ai essyer de passer mon "frame rate" de 30 à 15 et ça ne marche pas.

Rapporter au modérateur  

mathieu

Re:swf lent que faire?
« Répondre #1 sur: le 25-08-2004 a 23:36:24 »
hacknours
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 137



Vive ActionScript !!!

Voir le Profil    WWW    E-Mail
Répondre avec citation

Salut,
Je n'utilise pas de PC, mais j'ai déjà été confronté à ce genre de problèmes...
Pour que les gens les plus qualifié (= pas moi) puissent te répondre efficacement, tu devrais mettre online un exemple de ton .swf
Ce qui ralenti un swf :
1. le mode plein écran
2. d'ordre plus général, une taille d'affichage différente de la taille du swf (ex: 800/600 pour un swf de 400/300)
3. les effets _alpha sur des clips de grandes taille (même un clip simple aura ce problème s'il est de grande taille) (ex: un carré blanc qui disparait et apparait)
4. de nombreux duplicateMovieClip. même minuscules, une vingtaine d'étoiles qui défilent en permanance ralentissent considérablement l'animation.
5. un code action script un peu tordu. (ex: une boucle for dans un enterFrame)

Dans ton cas, si changer le FPS ne résous pas le problème, cela viens surement du code.
Dans un premier temps, mieux vaut tester le swf dans ton explorer internet.
Dans un second temps, fais un preload. Peut-être le lag viens du chargement en même temps que la lecture.
Trois, si tu dois absolument synchroniser ton animation (avec une bande son par exmple) tu peux forcer l'animation à accéder à l'image voulue, en temps voulu (ex: onSoundComplete ou if(tempsécoulé>1000){ _root.gotoAndPlay(10)...)

En conclusion, forcer l'animation à accéder à une image ne résoudra pas les problèmes de lag, mais pourra déjà être calée sur un timing.
Si les problèmes de lag viennent de clips de grande taille qui bougent...  il faut refaire le graphisme (ex: un fond qui bouge latéralement  --->  découper les objets, récupérer la couleur princpale du fond, mettre un fond fixe de cette couleur et ne faire bouger que les objets)

Mieux vaut tout de même mettre un exemple en ligne çà serait plus simple.
Bon courage.

Rapporter au modérateur  
Re:swf lent que faire?
« Répondre #2 sur: le 26-08-2004 a 15:43:30 »
tavman
Habitué
***

Hors-Ligne

Messages: 466



HS

Voir le Profil
Répondre avec citation

Pas grand chose a rajoutter... tu t'en sort tres bien hacknours...

C'est vrai qu'une annimation peut ralentir a cause de beaucoup de choses mais peut etre que tu n'as pas le meme pluggin Flash sur tes 2 config... Le pluggin Flash 7 lira mieux les annimations que le Flash 6.

Sinon, c'est vrai qu'il vaut mieux se limiter sur les effets d'alpha et tout ca, sinon, ca te jouera des tours... Les onEnterFrame peuvent aussi faire beaucoup ramer (tout dépend du code que tu met dedans, mais un grosse boucle for... c'est pas le pieds). Sinon, pour le callage d'une annimation, tu pourrait très bien imaginer un truc tout simple :

- une Liste avec des temps dedans
- une autre liste avec le numéro des frame correspondant au temps (pas la peine de le faire pour chaques frames...)
- un setInterval (dans ce cas précis, il est préférable au onEnterFrame) qui regarde tous les X temps et qui recale ton annim

Sinon, la rapidité d'une annimation dépend aussi beaucoup du navigateur dans lequel tu la lie... J'ai déjà fait des annim qui passaient très bien sous IE et qui ramaient a fond sous Mozzi par exemple...

Bon sinon, bonne chance a toi...

PS : ton problème pourrait aussi venir de manipulations intensives de textes ou des trucs comme ca... en général, ca bouffe plein de ressources...

Rapporter au modérateur  

I-Radian
Re:swf lent que faire?
« Répondre #3 sur: le 26-08-2004 a 16:17:50 »
mathdoy
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 7





Voir le Profil    WWW    E-Mail
Répondre avec citation

merci du coup de main, voici quand meme le lien pour le visualiser : http://pizza.azilda.ca

je vais décrire ce que j'ai fais :
1. animation pour faire le "frame" du site.
2. lorsque fini load les photos dans le centre
3. dance ces photos animation en continue de ligne qui bouge de gauche a droite (en script)
4. les photos apparaisse avec un animation en tweening et un mask qui est la meme animation sur 2 layer différent un mask et l'autre est par dessus pour donner l'effet.

5. les boutons los du over sont aussi en script.


Code:

script  sur frame 1 actions:

objects = 5;
loop = 1;
while (loop <= objects) {
    duplicateMovieClip("mask", ("mask" add loop), (16384 + loop));
    loop +=  1;
}


script sur mon object de ma bar qui bouge :

onClipEvent (load) {
    _x = Math.random() * 800;
    speed = Math.random() * 0.5 + 1;
    _xscale = Math.random() * 150;
    //trace(speed);
}
onClipEvent (enterFrame) {
    _x = (_x + speed);
    if (_x >= 800) {
          _xscale = Math.random() * 150;
          speed = Math.random() * 0.5 + 1;
          _x = _width * -1;
          //trace(speed);
    }
}


script bouton :
script rectagle blanc lors du over:

onClipEvent(load){
    this._alpha = 60;
    this._yscale = 2;
   
    function scaleDown(){
          this.onEnterFrame = function () {
              if (this._yscale <=100){
                    this._yscale += 15;
              }else{
                    this._yscale = this._yscale
              }
          }
    }
    function scaleUp(){
          this.onEnterFrame = function () {
              if (this._yscale >=2){
                    this._yscale -= 15;
              }else{
                    this._yscale = this._yscale
              }
          }
    }
}

Rapporter au modérateur  

mathieu
Re:swf lent que faire?
« Répondre #4 sur: le 26-08-2004 a 17:30:16 »
jb_gfx
Superactif
****

Hors-Ligne

Sexe: Male
Messages: 562





Voir le Profil    WWW
Répondre avec citation

C'est clair, grosse image + nombreux alphas + masques animés = ça rame.

Essai de voir si tu peux optimiser tes images de fonds et réduire le nombre de blocs animés avec des alphas parceque là y'en a vraiment trop. C'est normal que ça rame.

En passant: joli le site

Rapporter au modérateur  

http://www.pixemedia.com
Re:swf lent que faire?
« Répondre #5 sur: le 26-08-2004 a 17:34:29 »
tavman
Habitué
***

Hors-Ligne

Messages: 466



HS

Voir le Profil
Répondre avec citation

En tout cas, j'aime bien ton site... mais jai rien vu comme images dans les menus... enfin bon...

Sinon, le probleme doit venir de trucs comme ca :

onClipEvent (enterFrame) {
    _x = (_x + speed);
    if (_x >= 800) {
          _xscale = Math.random() * 150;
          speed = Math.random() * 0.5 + 1;
          _x = _width * -1;
          //trace(speed);
    }
}

Normalement, ca passe parceque t'en a pas beaucoup... mais bon... chai pas trop.

[désollé... me suis planté là....]

et peut etre aussi du fait que t'ait 2 fois :

onClipEvent (load) {
}

sur le meme clip... je sais pas si ca joue, je pense pas, mais normalement, vaut mieux n'en mettre qu'un seul... Déjà pour des problemes de lecture, ensuite ca, parceque je pense qu'il n'y en aura qu'un seul qui sera pris en compte...

[/désollé... me suis planté là....]

Bon sinon, jte donne un "ptit truc" pour raccourcir ton code... t'as le droit de faire ceci :

objects = 5;
loop = 0;
while (loop++ <= objects) {
    duplicateMovieClip("mask", ("mask" add loop), (16384 + loop));
}

ca reviendra exactement au même... Et puis perso, j'ai vu nulle part que ca ramait (remarquez, c'est pas pour ce que j'ai vu du site...)

« Dernière Édition: le 26-08-2004 a 17:39:01 par tavman » Rapporter au modérateur  

I-Radian
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg