Accueil > Forum > > > > Optimisation du code AS
Optimisation du code AS
lundi 4 août 2008 à 12:59:21 |
Optimisation du code AS

Limack
|
Bonjour les amis(es)
J'ai un problème pour un long code que j'ai écrit : l'erreur envoyée par flash est la suivante (Un script de cette animation ralentit l'exécution de flash player. Si l'exécution n'est pas suspendue, il est possible que votre ordinateur ne réagisse plus)
Dites-moi comment faire alors que le code n'est pas une boucle infinie. c'est vraiment urgent pour moi.
Voilà un extrait du code :
switch (ntheme) {
case 0 :
#include "as/Themes/theme1.as"
break;
case 1 :
#include "as/Themes/theme2.as"
break;
case 2 :
#include "as/Themes/theme3.as"
break;
case 3 :
#include "as/Themes/theme4.as"
break;
...
...
...
...
case 75 :
#include "as/Themes/theme74.as"
break;
}
Merci de me repondre très rapidement !
|
|
lundi 4 août 2008 à 23:08:10 |
Re : Optimisation du code AS

fguitton
|
Bonjour,
Afin que la réponse fournie dans le message privé que j'ai envoyer puisse servir a tout le monde, je la post également ici. Pour répondre donc à la question, un code comme celui-ci ne fonctionnera jamais et il est impossible d'écrire quoi que se soit permettant de faire fonctione quel code qu'il soit de ce genre.
Je m'explique: #include n'est pas une méthode, mais une directive, cela signifie que son action n'est valable que lors de la compilation du code c'est a dire que la directive #include va copier le code du fichier cible et s'autoremplacer par cette copie. Or ici il y a référence des une instance dynamique de type switch qui sa entrer en jeu lors de l'exécution du code cette fois-ci ( et si on suit le raisonnement à l'exécution du code include aura completment disparu depuis bien longtemps de la source de votre animation )
L'effet qui est donc recherché ne doit pas se coder de cette façon, il faudrais savoir exactement ce qui est recherché exactement pour fournir une réponse plus précise et surtout plus utile, moins informative uniquement.
@+ Bon Code Florian
|
|
mardi 5 août 2008 à 11:20:13 |
Re : Optimisation du code AS

Limack
|
Bonjour cher ami !
Comme tu l'as dit #include n'est pas une méthode, mais une directive, tout a fait OK. Mais en disant que ce code ne peut pas marcher ça m'étonne un peu dans la mésure où tout le contenu du AS est copié dans le FLA donc il cherchera simplement au moment de l'exécution la variable ntheme vérifiant la condition spécifiée et comme le code était déjà copié donc exécute ce bloc vérifiant la condition.
A moins que flash ait une limite dans le code, ou bien il faut pas dépasser un certain nombre de lignes dans le code, cela m'étonnerait puisque la mise en mémoire du code dépend normalement de la capacité de la MC du PC.
Sinon, j'avais déjà fait un truc du genre dans le passéc et ça marchait mais seulement que dans mon switch il y'a seulement 26 conditions. Mais quand j'ai augmenté le nombre de conditions qu'il a commencé à envoyer des erreurs de ce genre.
Il me semble que j'ai un problème d'optimisation.
Merci de me repondre !
|
|
mardi 5 août 2008 à 21:56:42 |
Re : Optimisation du code AS

fguitton
|
Bonjour,
Alors autant pour moi, j'avais les yeux bien loin des trous hier soir pour écrire ca je pense. Enfin pour les évtentuel visiteur, ce que j'ai dis reste vrai tout de même. Oui donc je n'avais pas pris le problème dans le bon sens. Alors suite aux multiple tests que j'ai fais, j'ai pu constater qu'il n'y avait aucun problème pour moi lors de la compression de l'animation. Néanmoins j'ai ajouté un paramètre switch de défaut vide :
default : break;
Sans plus d'information je penserais que l'erreur est produite par une autre parti de ton code, d'un des fichier AS que tu charge ou encore tous simplement du manque de ressources de ton ordinateur pour compresser l'animation ( j'ai déjà vu de tel erreur se produire, malgré l'incongru de la chose ).
Excuse moi encore pour mon espèce de ratatinage et aussi pour le retard à répondre, je suis assez pris en ce moment. Si tu evux tu pense m'envoyer comme je le disais tes fichiers source que je puisse regarder l'ensemble et voir ou est ce que cela clocherais. ( A l'adresse fournie dans mon préécdent message privé )
@+ Bon code Florian
|
|
mercredi 6 août 2008 à 15:21:54 |
Re : Optimisation du code AS

Limack
|
Non l'ordi que j'utilise est puissant, il n'a pas ce genre de problème !
Au fait j'ai parcouru tous les code AS, mais "aucune erreur détectée dans ce script".
Néanmoins j'ai touvé une solution qui ne marche toujours pas...
il m'envoie l'erreur suivante : (Cible introuvable : Cible="0" Base="_level0")
Ce que je constate est que si le ntheme choisi est compris entre 0 et 25 alors il charge le bloc "case" concerné en mémoire sans problème, mais quand le ntheme est > 26, problème. il prend tout son temps pour charger et m'envoie l'erreur (Cible introuvable : Cible="0" Base="_level0") et a la fin d'afficher lecontenu du bloc "case" concerné, il affiche "undefined".
C'est comme ci le temps imparti pour lire des lignes de code ne le suffit pas pour aller jusqu'au bout.
Je rappelle que je travaille sur une machine de 80Go de disque, MC : 1Go etc...
|
|
mercredi 6 août 2008 à 19:45:55 |
Re : Optimisation du code AS

fguitton
|
Bonjour,
Alors pour l'erreur que tu obtiens, il s'agit souvent d'un retour provoqué par l'utilisation de la fonction tellTarget( Qui n'est plus adapté depuis la version 5 de Flash ). Quand par exemple tu écris :
frame = int(loadedbytes/(totalbytes/100)); tellTarget (_root.loader) { gotoAndStop(_root.frame); }
Quand il faudrait plutôt écrire :
frame = int(loadedbytes/(totalbytes/100)); loader.gotoAndStop(_root.frame);
En revanche je ne vois pas pourquoi il exécute très bien les actions de 0 à 25 et qu'ensuite il bloque. As-tu définis un paramètre default dans ton switch ? Tu dis que tu a vérifier le code, mais l'as tu exclusivement vérifié à la machine grâce au bouton "Vérifier la syntaxe" ou bien l'as tu vérifié également par toi même de ton propre chef ?( Car selon les versions de Flash, certaines erreurs passent à la trape dans certaines circonstances ).
Maintenant j'ai bien peur de ne pas voir d'où pourrai provenir le problème sans consulter le fichier. Je vais réflechir au problème tout de même, peut-être que j'aurais un éclair.
@+ Bon Code Florian
|
|
mercredi 6 août 2008 à 20:24:59 |
Re : Optimisation du code AS

Limack
|
Oui je l'ai vérifié avec le bouton de flash "Vérifier la syntaxe".
Ce que j'ai fini pas comprendre, c'est qu'il n'arrive pas à lire tout le contenu du bloc "case" avant de passer. j'ai du couper mon switch en 2 donc la première se fait sur le calque1 (de 1 à 37) et la seconde sur le calque2 (de 38 à 75). Comme ça marche pour le moment en attendant de trouver une solution definitive.
|
|
Cette discussion est classée dans : code, case, include, break, themes
Répondre à ce message
Sujets en rapport avec ce message
variable & switch [ par ICIoBRa ]
Salut a tousJ'ai le code suivant :variable1 = random(5) ;variable2 = 0.00 ;switch (variable1) { case 0: variable2 = 0.02 ; case 1: variable2 = 0.01 ;
affichage de flash en fonction de l'url en cours [ par okostyle ]
Bonjour à tous. Voici mon problème. Je suis en train de mettre en place un intranet.Cet intranet se compose de 6 modules différents. Un bandeau flash
Flash et php... [ par __Nianiok_43___ ]
Bonjour à tous. J'ai essayé ce tuto qui m'a vraiment plu: http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre
addFrameScript-stop-bouton cliquable [ par ournik ]
Bonsoir-bonjourTout d'abord l'adresse de mon site avec un swf Lien pour voir où ça cloche.Quand on clique sur les titres/liens en haut (parcours, phot
code pour faire un retour en arriere [ par momoiom ]
un débutant en programmation.Bonsoir,je fais un simple jeu de l'oie. quand mon pion arrive sur une case( exemple case 1), une nouvelle fenetre s'ouvre
urgent [ par mariemmedia ]
mediabonjourvoici un code pour symbole clip afin de déplacer ballon avec clavier mais il ne travaille pas je ne sais pas ou est la faute .QUI PEUT M
(Débutant) Clip qui suit un autre [ par flshnoob ]
Bonjour, je suis complètement débutant en flash, Je vous explique ce que je voudrai avoir, j'ai mot qui est caché partiellement par des formes (ronde
AS3-Optimiser un bout de code [ par Hansi07 ]
Bonjour, Je débute avec beaucoup de mal en As3, pour l'instant tout fonctionne, mais c'est assez lent ! Je pense qu'il y a moyen d'optimiser mon code
controle temporelle des videos dynamiques AS3 [ par aerial9 ]
Salut à tous, je sollicite une nouvelle fois votre précieuse aide. J'ai besoin de faire avancer ou reculer la lecture d'une vidéo dynamique selon un é
Fonction attente [ par dodo34 ]
Bonjour à tous ! Je tente de faire une animation flash avec des défilements d'images, et un bouton pour passer à l'image suivante. J'aimerais cepend
Livres en rapport
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|