Vraag & Antwoord

Webdesign (HTML, CSS, Flash)

Steeds trager !!!

6 antwoorden
  • Hallo Flash-kenners, Als ik een flash script heb met een grote array, dan gaat de movie steeds langzamer afspelen. Hij begint flitsend snel en naarmate er variabalen verderop in de array gebruikt worden, gaat de boel steeds trager. Vreemd vind ik ook dat als het laatste commando PLAY is, het trage tempo blijft en weer verder daalt. De variabelen worden dus niet opnieuw geinitialiseerd. Weet iemand hoe het komt dat de boel steeds langzamer gaat? Of nog beter, weet iemand een oplossing? Groeten, Paula
  • Flash wordt inderdaad trager naarmate arrays groeien. Daar is helaas niet heel veel tegen te doen, behalve te proberen zo min mogelijk gigantische arrays te maken :smile: Probeer die array eens op te delen in verschillende aparte stukken en zorg dat wat je niet meer gebruikt ook verdwijnt uit het geheugen! Mocht je functies op een array loslaten, gebruik dan zoveel mogelijk de flash 4 syntax, aangezien dit aanmerkelijk sneller is. Verder kun je overwegen of het nodig is om arrays te gebruiken, aangezien flash 5 ook XML ondersteunt.
  • Hallo Jurriaan, Bedankt voor je antwoord. Vooral dat over het uit het geheugen halen van wat ik niet meer gebruik interesseert me. Hoe doe je dat? Van XML weet ik (nog) niets, maar daar moet ik dan ook maar eens naar kijken. Groeten, Paula
  • Met delete() kun je variabele echt uit het geheugen verwijderen. [code:1:5283bb21e5] a = [1,2,3,4,5,6]; trace(typeof(a)); delete a; trace(typeof(a)); [/code:1:5283bb21e5] Zoals je ziet kun je delete ook zonder haken gebruiken, maar natuurlijk ook met. Een van de grote nadelen van actionscript is de traagheid. Vooral met operaties op arrays wordt het verschrikkelijk en kan het gewoon tientallen secondes duren. Dat is helaas niet helemaal te voorkomen. Maar zoals ik al zei.. gebruik flash4 syntax! dat scheelt al een heleboel. En geef flash niet teveel tegelijk te doen. Verdeel een grote array in sub-arrays die je dus delete na gebruik. Geef tussendoor meldingen aan de gebruiker wat er gebeurd. Wat moet de array doen? Wellicht zijn er ook nog andere mogelijkheden. XML is ook erg fijn, want je kan dan makkelijker delen van een bestand inladen en XML lijkt ook sneller te gaan en makkelijker om te gaan met grotere stukken data. Zeker een aanrader om daar wat meer naar te kijken in combinatie met flash, alhoewel flash5 nog wel enkele bugs kent is er prima mee te werken. <font size=-1>[ Dit Bericht is bewerkt door: Jurriaan R op 2002-02-26 19:32 ]</font>
  • Hallo Jurriaan, Wederom bedankt voor je antwoord. Ik heb inmiddels wel begrepen dat de traagheid aan de grote array ligt. Ik gebruik wel de Flash 4 syntax, als je daarmee bedoelt iets van &quot;A_3_4 = ...&quot;. Dat moet wel, want ik gebruik een tweedimensionale array en ik ben nog niet in staat geweest zoiets in Flash 5 aan de praat te krijgen. Dus iets als &quot;a [3][4] &quot; of a[3,4]. Er zit dus niets anders op dan te proberen mijn array op te delen en na gebruik te deleten. Maar dan nog vind ik het vreemd dat de traagheid blijft na restart, dus na het commando &quot;Play&quot;. Ik zou denken dat het geheugen dan wordt vrijgegeven en de variabelen opnieuw aangemaakt. Kennelijk is dat niet zo. Groeten, Paula
  • multi-dimensionale arrays zijn wel heel goed mogelijk in flash 5! Alleen het gaat een beetje omslachtig en het is niet officieel, maar wel de manier. a = []; a[0] = []; a[1] = []; a[0][0]['tekst'] = 'bla'; a[0][1][0] = []; etc.. je moet er alleen elke keer opnieuw een array van maken. Ik bedoel met flash4 syntax dat je bijvoorbeeld substring(variabele,0,5) in plaats van variabele.substring()

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.