Bonjour,
J'ai parcouru pas mal de pages du forum sans trouver réponse à ma question/mon problème.
Présentation du projet :
Créer un dictionnaire français/anglais technique avec des illustrations pour une bonne partie des termes traduits.
Question :
Il ne s'agit pas ici d'un souci de fonctionnement, pour l'instant (car je tatonne puisque je découvre flash et l'as3) tout fonctionne et avance comme je le souhaite.
Il s'agit d'un problème de temps de chargement du fichier XML. Il contient en gros 50 000 lignes et n'est pas encore complet. Il n'y a que les mots, leur traduction, et une variable pour l'image sur chaque ligne. A terme je devrai y ajouter une 20aine de variables par ligne et la définition du terme.
Exemple actuel :
<Word Mot="Abbreviated departure clearance" Img="00001">Autorisation IFR qui ne spécifie pas l'intégralité de la route (au regard d'un plan de vol déposé)</Word>
Donc 50 000 lignes comme ça.
Avec le code ci dessous, je charge le fichier XML et je stocke les valeurs dans des Arrays. Avec 100 lignes c'est super, avec 20 000 lignes, 30 minutes après le lancement de mon animation, c'était toujours pas fini de charger ...
En gros, vous l'aurez compris, je me demande comment je peux réduire de manière très très très très significative le temps de chargement de mes 50 000 lignes de vocabulaire.
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
17
18
19
20
21
22 //Chargement du XML function chargeXML() { var chargementXML:URLLoader = new URLLoader(); var fichierXML:URLRequest = new URLRequest("XML/Dictionary.xml"); chargementXML.addEventListener(Event.COMPLETE, chargeListeMots); chargementXML.load(fichierXML); } //Remplissage du tableau de mots function chargeListeMots(e:Event):void { tableauMots = new Array(); var dataXML:XML = new XML(e.target.data); var listeElements:XMLList = dataXML.elements(); for each (var elementXML:XML in listeElements) { tableauDetail = new Array(); tableauDetail[0] = elementXML.@Mot; tableauDetail[1] = elementXML.@Img; tableauDetail[2] = elementXML; tableauMots.push(tableauDetail); } remplissageListe(); }
Dois-je changer de principe (pas de fichier XML ou autre) ?
Dois-je changer ma façon de gérer ce que je reçois du XML ?
Si l'un(e) de vous avait une idée, ça serait super chouette.
D'avance merci.
Nico
Partager