| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Her mit dem Gesöff Registriert seit: Feb 2002 Ort: Köln
Beiträge: 63
| XML Objekt durchlaufen: Je größer das Objekt, desto langsamer der Durchlauf
Hallo zusammen. Für eine CD, die etwas mehr als 10000 Adressdatensätze enthält, erstelle ich grade eine kleine Anwendung, die nach PLZ selektiert zu verschiedenen Bereichen ein paar Adressdaten ausspuckt. Das klappt soweit auch ganz gut in Flash MX. Offenbar hat Flash aber große Probleme, wenn sehr viele Datensätze in einer Node gespeichert werden. Da die Daten nach PLZ in aufsteigender Reihenfolge sortiert sind, kann ich mittels binärer Suche die beiden Indices bestimmen zwischen denen die gesuchten Datensätze liegen. Zum Beispiel soll das Programm alle Datensätze zwischen PLZ = 50000 und PLZ = 60000 ausgeben. Also rufe ich meine Funktion ActionScript:
Wunderbar, jetzt weiss ich also z.B. das meine betreffenden Datensätze zwischen 6312 und 6404 liegen, also muss ich die Node nur noch in diesem Bereich durchlaufen: ActionScript:
die childNodes in a sind in meiner XML-Struktur verschieden groß. Einige haben nur 100 Einträge, eine bestimmte Node hat aber über 10000. Wenn ich nun ca. 100 Datensätze an beliebiger Stelle durchlaufe, dann dauert es über 10 Sekunden bei der "großen" Node. Bei andere nur einen Bruchteil einer Sekunde. Wenn ich einfach mal 9000 Datensätze aus der XML-Datei in dieser Node lösche dann wird es auch wieder schneller. Was hat das zu bedeuten? Sollte es nicht gleich schnell sein, egal an welcher Stelle ich 100 Datensätze in einem Array durchlaufe? Hat Flash hier wirklich Probleme wenn man nur ein paar 1000 Indices hat? Gibt es einen Trick? Rein technisch sehe ich dafür kaum einen Grund. Schliesslich sollte der Interpreter wirklich nur einen Pointer auf Speicherbereiche verwalten, wenn man ein Array durchläuft. Wahrscheinlich hat Flash mal wieder ein "effizienteres" Modell. Wer weiss Rat? Gruß |
| | |
| | #2 (permalink) |
| -=|=- Registriert seit: Jul 2001 Ort: münchen
Beiträge: 776
|
ich hab nicht ge´rade eine lösung für dein problem, hab' aber ein ähnliches phänomen: wenn ein node wiel daten ernthält, zum beispiel einen längeren text dann setzt der player beim laden kurz aus. das äussert sich so, dass das fenster kurz nicht mehr auswählbar ist und alles stockt. eine animation zum beispiel bleibt kurz stehen........... der xml-austausch klappt zwar in flash, hat aber doch wohl noch einige macken. jazz
__________________ www.greenzone.de_|_flash translator_|_lego jones_|_inspektor wombat online adventure |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |