Animate-documenten optimaliseren

Naarmate de bestandsgrootte van documenten toeneemt, neemt de downloadtijd toe en neemt de weergavesnelheid af. U kunt diverse stappen nemen om uw document voor te bereiden voor optimale weergave. Als onderdeel van het publicatieproces past Animate automatisch enkele optimalisatiebewerkingen toe op documenten. Voordat u een document exporteert, kunt u dit verder optimaliseren door de bestandsgrootte op diverse manieren te verkleinen. U kunt een SWF-bestand ook comprimeren wanneer u dit publiceert. Terwijl u wijzigingen doorvoert, test u uw document door het op verschillende computers met verschillende besturingssystemen en internetverbindingen uit te voeren.

Documenten optimaliseren

  • Gebruik symbolen, al dan niet bewegende, voor elk element dat meer dan éénmaal wordt weergegeven.

  • Gebruik waar mogelijk getweende animaties wanneer u animatiereeksen maakt. Getweende animaties nemen minder bestandsruimte in dan een reeks hoofdframes.

  • Gebruik filmclips in plaats van grafische symbolen voor animatiereeksen.

  • Beperk het verandergebied in elk hoofdframe. Zorg dat de handeling plaatsvindt in een zo klein mogelijk gebied.

  • Gebruik geen bitmapelementen voor animaties. Gebruik bitmapafbeeldingen als achtergrond of als statische elementen.

  • Gebruik waar mogelijk MP3, de kleinste geluidsindeling.

Elementen en lijnen optimaliseren

  • Groepeer elementen.

  • Gebruik lagen om elementen die tijdens de animatie veranderen, te scheiden van elementen die niet veranderen.

  • Gebruik Wijzigen > Vorm > Optimaliseren om het aantal afzonderlijke lijnen dat wordt gebruikt om vormen te beschrijven tot een minimum te beperken.

  • Beperk het aantal speciale lijntypen, zoals onderbroken lijnen, stippellijnen, onregelmatige lijnen enzovoort. Ononderbroken lijnen vereisen minder geheugen. Lijnen die zijn gemaakt met het potlood vereisen minder geheugen dan penseelstreken.

Tekst en lettertypen optimaliseren

  • Beperk het aantal lettertypen en tekenstijlen. Maak spaarzaam gebruik van ingesloten lettertypen omdat hierdoor de bestandsgrootte toeneemt.

  • Selecteer voor de optie Ingesloten lettertypen alleen de tekens die nodig zijn in plaats van het gehele lettertype.

Kleuren optimaliseren

  • Gebruik het menu Kleur in Eigenschapcontrole voor symbolen om meerdere instanties van een enkel symbool in verschillende kleuren te maken.

  • Gebruik het deelvenster Kleur (Venster > Kleur) om het kleurpalet van het document af te stemmen op een browserspecifiek palet.

  • Maak spaarzaam gebruik van verlopen. Wanneer u een gebied met een verloopkleur vult, vereist dit ongeveer 50 bytes meer dan wanneer u het vult met een effen kleur.

  • Maak spaarzaam gebruik van alpha-transparantie omdat dit het afspelen kan vertragen.

Documentweergave versnellen

U versnelt de weergave van een document door met de opdrachten in het menu Weergave functies voor de renderingkwaliteit uit te schakelen. Deze functies vereisen extra verwerkingsvermogen en vertragen de weergave van documenten.

Geen van deze opdrachten is van invloed op de manier waarop Animate een document exporteert. Wanneer u de weergavekwaliteit van Animate-documenten in een webbrowser wilt opgeven, gebruikt u de parameters object en embed. De opdracht Publiceren kan dit automatisch voor u doen.

  1. Selecteer Weergave > Modus Voorvertoning en selecteer een van de volgende opties:

    Contouren

    - geeft alleen de contouren van de vormen in de scène weer en geeft alle lijnen weer als dunne lijnen. Hierdoor kan de vorm van grafische elementen gemakkelijker worden gewijzigd en kunnen complexe scènes snel worden weergegeven.

    Snel

    - schakelt anti-aliasing uit en geeft alle kleuren en lijnstijlen van uw tekening weer.

    Anti-alias

    - schakelt anti-aliasing in voor lijnen, vormen en bitmaps en geeft vormen en lijnen zo weer dat hun randen vloeiender worden weergegeven. Tekent langzamer dan de optie Snel. Anti-aliasing werkt het beste bij grafische kaarten die duizenden (16-bits) of miljoenen (24-bits) kleuren kunnen weergeven. In de 16- of 256-kleurenmodus zijn zwarte lijnen vloeiend, maar kleuren zien er mogelijk beter uit in de modus Snel.

    Anti-alias tekst

    - maakt de randen van tekst vloeiender. Werkt het beste bij grote tekengrootten en kan traag zijn bij grote hoeveelheden tekst. Dit is de meest gangbare modus om in te werken.

    Volledig

    - rendert alle inhoud in het werkgebied volledig. Deze optie kan de weergave vertragen.

Afbeeldingen en animaties optimaliseren

Voordat u geoptimaliseerde en gestroomlijnde animaties of afbeeldingen maakt, moet u uw project afbakenen en plannen. Stel uzelf een doel voor de bestandsgrootte en duur van de animatie en test dit gedurende het ontwikkelproces.

Houd u aan de volgende richtlijnen voor het optimaliseren van afbeeldingen en animaties:

  • Gebruik geen verlopen omdat die veel kleuren en berekeningen vereisen en daardoor moeilijker door de processor kunnen worden gerenderd.

  • Beperk om dezelfde reden de hoeveelheid alpha-transparantie die u in een SWF-bestand gebruikt tot een minimum.

    Animaties van objecten die transparantie bevatten, zijn processorintensief en moeten tot een minimum worden beperkt. Een animatie van transparante afbeeldingen boven bitmaps is met name processorintensief, zodat u dit tot een minimum moet beperken of volledig moet vermijden.

    Opmerking: PNG is de beste bitmapindeling om te importeren in Animate. (Dit is de native bestandsindeling van Macromedia Fireworks van Adobe.) PNG-bestanden bevatten RGB- en alpha-informatie voor elke pixel. Wanneer u een PNG-bestand van Fireworks importeert in Animate, kunt u de grafische objecten tot op zekere hoogte bewerken in het FLA-bestand.

  • Optimaliseer bitmaps zonder te veel compressie toe te passen. Een resolutie van 72 dpi is optimaal voor het web. Wanneer u een bitmapafbeelding comprimeert, neemt de bestandsgrootte af, maar wanneer u de afbeelding te veel comprimeert, neemt de kwaliteit af. Controleer of de instellingen voor JPEG-kwaliteit in het dialoogvenster Publicatie-instellingen de afbeelding niet te veel comprimeren. In de meeste gevallen verdienen vectorafbeeldingen de voorkeur. Bij gebruik van vectorafbeeldingen neemt de bestandsgrootte af, aangezien deze afbeeldingen bestaan uit berekeningen in plaats van vele pixels. Beperk het aantal kleuren in de afbeelding, maar zorg dat de kwaliteit behouden blijft.

    Opmerking: Schaal bitmaps niet groter dan de originele afmetingen, aangezien de kwaliteit van de afbeelding daardoor afneemt en dit processorintensief is.

  • Stel de eigenschap _visible in op false in plaats van het _alpha-niveau te wijzigen in 0 of 1 in een SWF-bestand. Het berekenen van het _alpha-niveau voor een instantie in het werkgebied is processorintensief. Wanneer u de zichtbaarheid van de instantie uitschakelt, bespaart u hiermee CPU-cycli en geheugen, waardoor de animaties in het SWF-bestand vloeiender kunnen zijn. Stel de eigenschap _visible in op false in plaats van dat u elementen verwijdert en mogelijk opnieuw laadt; dit is minder processorintensief.

  • Verminder het aantal lijnen en punten dat u in een SWF-bestand gebruikt. Gebruik het dialoogvenster Curven optimaliseren (Wijzigen > Vorm > Optimaliseren) om het aantal vectoren in een tekening te verminderen. Selecteer de optie Herhaaldelijk toepassen om bestanden nog verder te optimaliseren. Wanneer u een afbeelding optimaliseert, neemt de bestandsgrootte af, maar bij te veel compressie neemt de kwaliteit af. Wanneer u echter curven optimaliseert, neemt de bestandsgrootte af en verbeteren de prestaties van het SWF-bestand. Er zijn ook opties van derden beschikbaar voor gespecialiseerde optimalisatie van curven en punten die verschillende resultaten opleveren.

 

Voor het beste resultaat moet u verschillende methoden om bewegende inhoud te maken uitproberen en elke optie testen.

Een hogere framesnelheid (gemeten in frames per seconde of fps) levert een vloeiender animatie in een SWF-bestand op, maar kan processorintensief zijn, met name op oudere computers. Test uw animaties met verschillende framesnelheden om zo de laagst mogelijke framesnelheid te vinden.

Zie de pagina met Flash-voorbeelden www.adobe.com/go/llearn_fl_samples_nl voor een voorbeeld van gescripte animatie. Download het bestand Samples.zip, pak het uit en ga naar de map ActionScript 2.0\Animation om het voorbeeld te openen.

Framesnelheid en prestatie van animaties

Wanneer u animatie aan een toepassing toevoegt, moet u rekening houden met de framesnelheid waarop u het FLA-bestand instelt. De framesnelheid kan van invloed zijn op de prestaties van het SWF-bestand en de computer waarop het wordt afgespeeld. Wanneer u de framesnelheid te hoog instelt, kan dit leiden tot processorproblemen, met name wanneer u veel elementen gebruikt of ActionScript gebruikt om animatie te maken.

U moet echter ook rekening houden met de ingestelde framesnelheid, omdat deze bepaalt hoe vloeiend de animatie wordt afgespeeld. Bij een animatie die in Eigenschapcontrole bijvoorbeeld op 12 frames per seconde (fps) is ingesteld, worden 12 frames per seconde weergegeven. Wanneer de framesnelheid van het document op 24 fps is ingesteld, lijkt de animatie vloeiender te zijn dan bij 12 fps. Uw animatie wordt bij 24 fps echter ook sneller afgespeeld dan bij 12 fps, zodat de totale duur (in seconden) korter is. Met andere woorden, wanneer u een animatie van 5 seconden wilt maken met een hogere framesnelheid, moet u in vergelijking met een lagere framesnelheid extra frames toevoegen om die 5 seconden te vullen (waardoor de totale bestandsgrootte van de animatie toeneemt). Een animatie van 5 seconden bij 24 fps levert normaalgesproken een groter bestand op dan een animatie van 5 seconden bij 12 fps.

Opmerking:

wanneer u de gebeurtenishandler onEnterFrame gebruikt om gescripte animaties te maken, wordt de animatie op de framesnelheid van het document uitgevoerd, net als wanneer u een bewegings-tween op een tijdlijn zou hebben gemaakt. Een alternatief voor de gebeurtenishandler onEnterFrame is setInterval (raadpleeg de Naslaggids voor ActionScript 2.0). In plaats van afhankelijk te zijn van de framesnelheid kunt u functies aanroepen met een bepaald interval. Net als bij onEnterFrame geldt dat hoe vaker u setInterval gebruikt om een functie aan te roepen, hoe bronintensiever de animatie voor de processor wordt.

Gebruik de laagst mogelijke framesnelheid waarbij uw animatie vloeiend wordt afgespeeld tijdens uitvoering. Hierdoor neemt de belasting van de processor van de eindgebruiker af. Een hoge framesnelheid (meer dan 30 tot 40 fps) vormt een zware belasting voor de processor, maar verandert het uiterlijk van de animatie tijdens de uitvoering niet of nauwelijks.

Selecteer zo vroeg mogelijk in het ontwikkelproces een framesnelheid voor de animatie. Controleer de duur van de animatie en de grootte van het SWF-bestand wanneer u het SWF-bestand test. De framesnelheid beïnvloedt de snelheid van de animatie aanzienlijk.

Filters en prestaties van SWF-bestanden

Wanneer u te veel filters in een toepassing gebruikt, kan dit zeer veel geheugen vereisen waardoor de prestaties van Flash Player afnemen. Aangezien een filmclip met gekoppelde filters twee bitmaps heeft van beide 32 bits, kunnen deze bitmaps ertoe leiden dat uw toepassing een aanzienlijke hoeveelheid geheugen gebruikt wanneer u veel bitmaps gebruikt. Het besturingssysteem van de computer kan een foutmelding over onvoldoende geheugen genereren. Op een moderne computer zouden dergelijke foutmeldingen niet vaak moeten voorkomen, tenzij u veel filtereffecten in een toepassing gebruikt (bijvoorbeeld wanneer het werkgebied duizenden bitmaps bevat).

Wanneer echter een fout optreedt ten gevolge van onvoldoende geheugen, gebeurt het volgende:

  • De array filters wordt genegeerd.

  • De filmclip wordt getekend met de standaardvectorrenderer.

  • Er worden geen bitmaps voor de filmclip in cache geplaatst.

    Nadat een fout is opgetreden ten gevolge van onvoldoende geheugen, probeert een filmclip nooit een array filters of een bitmapcache te gebruiken. Een andere factor die van invloed is op de prestaties van de speler, is de waarde die u gebruikt voor de kwaliteitsparameter van elk filter dat u toepast. Hogere waarden vereisen een sterkere processor en meer geheugen om het effect te renderen, terwijl minder computerbronnen zijn vereist wanneer de kwaliteitsparameter op een lagere waarde wordt ingesteld. Pas daarom niet te veel filters toe en gebruik waar mogelijk een lagere instelling voor de kwaliteit.

    Opmerking: Wanneer een object van 100 x 100 pixels in één keer wordt ingezoomd, vereist dit viermaal zoveel geheugen omdat de afmetingen van de inhoud nu 200 x 200 pixels zijn. Wanneer u nog eens tweemaal inzoomt, wordt de vorm getekend als een object van 800 x 800 pixels en wordt 64 keer zoveel geheugen gebruikt in vergelijking met het oorspronkelijke object van 100 x 100 pixels. Wanneer u filters in een SWF-bestand gebruikt, schakel de zoomopties dan uit via het snelmenu van het SWF-bestand.

    Er kunnen fouten optreden wanneer u ongeldige parametertypen gebruikt. Sommige parameters hebben ook een bepaald geldig bereik. Wanneer u een waarde instelt die buiten het geldige bereik valt, verandert de waarde in een waarde die binnen het bereik valt. De kwaliteit zou bijvoorbeeld standaard een waarde tussen 1 en 3 moeten zijn, terwijl de waarde kan worden ingesteld tussen 0 en 15. Een waarde hoger dan 15 wordt op 15 ingesteld.

    Sommige constructors hebben beperkingen voor wat betreft de lengte van arrays die als invoerparameters zijn vereist. Wanneer een convolutiefilter of kleurenmatrixfilter met een ongeldige array (niet de juiste grootte) is gemaakt, mislukt de constructor en wordt het filter niet gemaakt. Wanneer het filterobject vervolgens als invoer in de array filters van een filmclip wordt gebruikt, wordt dit genegeerd.

    Tip: Wanneer u een vervagend filter gebruikt, kunnen waarden voor blurX en blurY die machten van 2 zijn (zoals 2, 4, 8, 16 en 32) sneller worden berekend, zodat een prestatieverbetering van 20 tot 30% wordt behaald.

Bitmapcaching en de prestaties van SWF-bestanden

Door bitmaps in cache te plaatsen (bitmapcaching), kunt u de prestaties van niet-veranderende filmclips in uw toepassingen verbeteren. Wanneer u de eigenschappen MovieClip.cacheAsBitmap of Button.cacheAsBitmap instelt op true, plaatst Flash Player een interne bitmaprepresentatie van de filmclip- of knopinstantie in cache. Dit kan de prestaties verbeteren van filmclips die complexe vectorinhoud bevatten. Alle vectorgegevens van een filmclip die een bitmap bevat die in cache is geplaatst, worden toegepast op de bitmap in plaats van op het hoofdwerkgebied.

Opmerking:

De bitmap wordt naar het hoofdwerkgebied gekopieerd als niet-uitgerekte, niet-geroteerde pixels die op de dichtstbijzijnde pixelgrenzen worden uitgelijnd. Pixels worden een-op-een aan het bovenliggende object toegewezen. Wanneer de grenzen van de bitmap veranderen, wordt de bitmap opnieuw gemaakt in plaats van uitgerekt.

Voor gedetailleerde informatie over het in cache plaatsen van knop- of filmclipinstanties raadpleegt u de volgende onderwerpen:

  • Informatie over het in cache plaatsen schuiven van filmclips met ActionScript in ActionScript 2.0 leren

  • Een filmclip in het cachegeheugen plaatsen in ActionScript 2.0 leren

    Gebruik de eigenschap cacheAsBitmap met filmclips die voornamelijk statische inhoud bevatten en niet vaak worden geschaald en geroteerd. Met dergelijke filmclips kan het gebruik van de eigenschap cacheAsBitmap leiden tot prestatieverbeteringen wanneer de filmclip wordt vertaald (wanneer de posities x en y worden gewijzigd).

    Wanneer caching is ingeschakeld voor een filmclip, wordt een oppervlak gemaakt. Dit biedt een aantal voordelen. Zo worden complexe vectoranimaties bijvoorbeeld snel gerenderd. In sommige gevallen worden de prestaties niet verbeterd, of nemen zelfs af, wanneer u caching inschakelt.

    De totale prestaties van gegevens die in cache zijn geplaatst, zijn afhankelijk van de complexiteit van de vectorgegevens van de instanties, van de hoeveelheid gegevens die u wijzigt en van de instelling van de eigenschap opaqueBackground. Wanneer u kleine gebieden wijzigt, kan het verschil tussen het gebruik van een oppervlak en het gebruik van vectorgegevens verwaarloosbaar klein zijn. Test beide methoden met uw werk voordat u de toepassing implementeert.

Wanneer moet u bitmaps in cache plaatsen?

Hier volgt een aantal standaardsituaties waarin bitmapcaching aanzienlijke voordelen kan opleveren doordat vectorafbeeldingen worden geoptimaliseerd.

Complexe achtergrondafbeelding

- een toepassing die een gedetailleerde en complexe achtergrondafbeelding van vectorgegevens bevat. U kunt de prestaties verbeteren door de inhoud te selecteren, deze in een filmclip op te slaan en de eigenschap opaqueBackground op true in te stellen. De achtergrond wordt gerenderd als een bitmap en kan snel opnieuw worden getekend, waardoor de animatie sneller wordt afgespeeld.

Schuivend tekstveld

Een toepassing waarin een grote hoeveelheid tekst in een schuivend tekstveld wordt weergegeven. Plaats het tekstveld in een filmclip die u als schuifbaar met verschuivende grenzen (de eigenschap scrollRect) instelt, waardoor snelle pixelverschuiving voor de opgegeven instantie wordt ingeschakeld. Wanneer de gebruiker de filmclipinstantie verschuift, worden de verschoven pixels omhoog verplaatst en wordt alleen het nieuwe gebied gegenereerd in plaats van het gehele tekstveld.

Venstersysteem

- een toepassing met een complex systeem van overlappende vensters. Elk venster (zoals vensters van een webbrowser) kan zijn geopend of gesloten. Wanneer u elk venster markeert als een oppervlak (de eigenschap cacheAsBitmap op true instelt), wordt elk venster van de rest gescheiden en in cache geplaatst. Gebruikers kunnen de vensters verslepen, zodat deze elkaar overlappen, en de vectorinhoud hoeft niet voor elk venster opnieuw te worden gegenereerd.

Wanneer moet u bitmapcaching vermijden?

Verkeerd gebruik van bitmapcaching kan een negatief effect hebben op het SWF-bestand. Wanneer u een FLA-bestand ontwikkelt waarin oppervlakken worden gebruikt, moet u de volgende richtlijnen aanhouden:

  • Maak geen overmatig gebruik van oppervlakken (filmclips waarvoor caching is ingeschakeld). Elk oppervlak gebruikt meer geheugen dan een normale filmclip. Schakel oppervlakken alleen in om de renderprestaties te verbeteren.

  • Een in cache geplaatste bitmap kan aanzienlijk meer geheugen gebruiken dan een standaardfilmclipinstantie. Wanneer de filmclip in het werkgebied bijvoorbeeld 250 x 250 pixels groot is, kan deze in cache 250 kB in beslag nemen in plaats van 1 kB wanneer het een standaardfilmclipinstantie (niet in cache geplaatst) betreft.

  • Vermijd in- en uitzoomen op oppervlakken die in cache zijn geplaatst. Wanneer u te veel gebruikmaakt van bitmapcaching, wordt zeer veel geheugen gebruikt (zie vorige punt), met name wanneer u inzoomt op de inhoud.

  • Gebruik oppervlakken voor filmclipinstanties die overwegend statisch (zonder animatie) zijn. U kunt de instantie slepen of verplaatsen, maar de inhoud van de instantie mag niet bewegen of veel veranderen. Wanneer u bijvoorbeeld een instantie roteert of transformeert, verandert de instantie tussen het oppervlak en de vectorgegevens. De verwerking hiervan is moeilijk en heeft een negatief effect op het SWF-bestand.

  • Wanneer u oppervlakken combineert met vectorgegevens, neemt de hoeveelheid verwerking voor Flash Player (en soms voor de computer) toe. Groepeer oppervlakken, bijvoorbeeld wanneer u venstertoepassingen maakt.

Werken met componenten in Flash Player

Via het raamwerk van componenten kunt u functionaliteit aan componenten toevoegen, maar hierdoor kan de bestandsgrootte van een toepassing aanzienlijk toenemen. Componenten nemen van elkaar over. Eén component maakt een Animate-document groter, maar volgende componenten die hetzelfde raamwerk gebruiken, maken het bestand niet automatisch nog groter. Wanneer u componenten aan het werkgebied toevoegt, neemt de bestandsgrootte toe, maar op een bepaald punt stagneert de grootte omdat componenten dezelfde klasse gebruiken en geen nieuwe kopieën van die klassen laden.

Wanneer u meerdere componenten gebruikt die niet hetzelfde raamwerk delen, kan de bestandsgrootte van het SWF-bestand aanzienlijk toenemen. De component XML Connector voegt bijvoorbeeld 17 kB toe aan het SWF-bestand, terwijl componenten TextInput 24 kB aan het document toevoegen. Wanneer u de component ComboBox toevoegt, wordt 28 kB toegevoegd, aangezien deze geen deel uitmaakt van het raamwerk van een van beide eerdere componenten. Aangezien de component XML Connector gegevensbinding gebruikt, voegen de klassen 6 kB toe aan het SWF-bestand. Een document dat al deze componenten gebruikt, bevat 77 kB voordat u iets anders aan het bestand toevoegt. Houd rekening met de grootte van het SWF-bestand wanneer u een nieuwe component aan het document toevoegt.

Componenten moeten in de bibliotheek van het bovenliggende SWF-bestand aanwezig zijn. De bibliotheek van een toepassing moet bijvoorbeeld een kopie van de gebruikte componenten bevatten, zelfs van de componenten die voor onderliggende SWF-bestanden zijn vereist die tijdens uitvoering worden geladen. Dit is nodig om ervoor te zorgen dat de componenten correct werken, maar hierdoor neemt de downloadtijd van het bovenliggende SWF-bestand iets toe. De bovenliggende bibliotheek wordt echter niet overerfd of gedeeld door de SWF-bestanden die u in het bovenliggende bestand laadt. Elk onderliggend SWF-bestand moet in de toepassing worden gedownload met een eigen kopie van dezelfde componenten.

Wanneer u een SWF-bestand wilt publiceren met achterwaartse compatibiliteit, moet u goed begrijpen welke componenten over die mogelijkheid beschikken. Raadpleeg de volgende tabel voor de beschikbaarheid van componenten in verschillende versies van Flash Player:

Componenten

Flash Player 6 (6.0.65.0) en lager

Flash Player 6 (6.0.65.0)

Flash Player 7 en 8

Flash Player 9

ActionScript 3.0

Niet ondersteund

Niet ondersteund

Niet ondersteund

Ondersteund

ActionScript 2.0

Ondersteund

Ondersteund

Ondersteund

Ondersteund

Componentset V2-gebruikersinterface

Niet ondersteund

Ondersteund

Ondersteund

Ondersteund

Mediacomponenten

Niet ondersteund

Niet ondersteund

Ondersteund

Ondersteund

Gegevenscomponenten

Niet ondersteund

Niet ondersteund

Ondersteund

Ondersteund

Hef de selectie van de optie Optimaliseren voor Flash Player 6 r65 in Publicatie-instellingen op als u wilt dat de V2-gebruikersinterfacecomponenten werken.

Componentstijlen en prestaties optimaliseren

Wanneer u ActionScript 2.0 gebruikt, is een van de meest processorintensieve aanroepen in een raamwerk van componenten de aanroep van setStyle. De aanroep van setStyle wordt efficiënt uitgevoerd, maar is intensief vanwege de manier waarop deze is geïmplementeerd. De aanroep van setStyle is niet altijd in alle toepassingen noodzakelijk, maar wanneer u deze aanroep gebruikt, houd dan rekening met het effect ervan op de prestaties.

U kunt de prestaties verbeteren door stijlen te wijzigen voordat ze worden geladen, berekend en toegepast op de objecten in het SWF-bestand. Wanneer u stijlen kunt wijzigen voordat ze worden geladen en berekend, hoeft u setStyle niet aan te roepen.

U kunt de prestaties verbeteren wanneer u stijlen gebruikt, door eigenschappen voor elk object instellen terwijl een instantie van dat object wordt geïnitialiseerd. Wanneer u instanties dynamisch aan het werkgebied koppelt, stelt u eigenschappen in voor initObj in de aanroep van createClassObject(), zoals getoond in de volgende ActionScript-code:

createClassObject(ComponentClass, "myInstance", 0, {styleName:"myStyle", color:0x99CCFF});

Voor instanties die u rechtstreeks in het werkgebied plaatst, kunt u onClipEvent() gebruiken voor elke instantie. U kunt ook subklassen gebruiken (aanbevolen). Zie Informatie over het schrijven van een subklasse in ActionScript 2.0 leren voor informatie over subklassen.

Wanneer u de stijl van uw componenten moet wijzigen, kunt u de efficiëntie van de toepassing verbeteren door de component Loader te gebruiken. Wanneer u meerdere stijlen wilt implementeren in verschillende componenten, plaatst u elke component in een eigen SWF-bestand. Wanneer u stijlen in de component Loader wijzigt en het SWF-bestand opnieuw laadt, worden de componenten in het SWF-bestand opnieuw gemaakt. Wanneer de component opnieuw wordt gemaakt, wordt de cache met stijlen leeg gemaakt, wordt de stijl voor de component opnieuw ingesteld en wordt er opnieuw naar verwezen.

Opmerking:

Wanneer u een enkele stijl wilt toepassen op alle instanties van een component in het SWF-bestand, verandert u die stijl algemeen met _global.styles.ComponentName.

Gezamenlijke bibliotheken tijdens uitvoering gebruiken

U kunt de downloadtijd verkorten door gezamenlijke bibliotheken tijdens uitvoering te gebruiken. Deze bibliotheken zijn gewoonlijk nodig voor grotere toepassingen of wanneer meerdere toepassingen op een site dezelfde componenten of symbolen gebruiken. Wanneer u de gemeenschappelijke elementen van uw SWF-bestanden extern opslaat, hoeft u klassen niet meerdere keren te downloaden. Het eerste SWF-bestand dat een gezamenlijke bibliotheek gebruikt, heeft een langere downloadtijd omdat zowel het SWF-bestand als de bibliotheek moeten worden geladen. De bibliotheek wordt in cache opgeslagen op de computer van de gebruiker, waarna alle volgende SWF-bestanden de bibliotheek gebruiken. Hierdoor kan de downloadtijd voor sommige grotere toepassingen aanzienlijk worden verkort.

Speciale tekens weergeven

Computerbesturingssystemen bevatten een speciale, regiogebonden codepagina. Een computer in Japan heeft bijvoorbeeld een andere codepagina dan een computer in Nederland. Flash Player 5 en lagere versies maakten gebruik van de codepagina om tekst weer te geven; Flash Player 6 en hogere versies gebruiken Unicode om tekst weer te geven. Unicode is betrouwbaarder en gestandaardiseerd voor de weergave van tekst, omdat het een universele tekenset is die tekens voor alle talen bevat. De meeste moderne toepassingen gebruiken Unicode.

U kunt escape-reeksen uit Unicode gebruiken om speciale tekens in Flash Player 6 en later weer te geven. Niet alle tekens worden echter correct weergegeven wanneer u tekst die is gecodeerd als UTF-8 of UTF-16 (Unicode) niet laadt of wanneer u geen Unicode-escape-reeks gebruikt om het speciale teken weer te geven. Raadpleeg de Unicode-website op Unicode.org voor een set Unicode-codetabellen. Zie de tabel die later in deze sectie volgt voor een lijst met veelgebruikte escape-reeksen.

Een niet-Unicode-toepassing gebruikt de codepagina van het besturingssysteem om tekens op een pagina te renderen. In dit geval bepaalt de codepagina welke tekens u ziet, zodat de tekens correct wordt weergegeven wanneer u de codepagina van het besturingssysteem van de gebruiker overeenstemt met de codepagina van de toepassing. De codepagina die is gebruikt om het SWF-bestand te maken, moet overeenstemmen met de codepagina op de computer van de eindgebruiker. Het gebruik van codepagina's wordt afgeraden bij toepassingen voor een internationale doelgroep. Gebruik in dat geval Unicode.

Als u System.useCodepage in uw code gebruikt, dwingt u het SWF-bestand de codepagina van het systeem te gebruiken in plaats van Unicode.

Gebruik deze methode alleen wanneer u tekst die niet in Unicode is gecodeerd, vanaf een externe locatie laadt en wanneer deze tekst is gecodeerd met dezelfde codepagina als de computer van de gebruiker. Wanneer aan beide voorwaarden wordt voldaan, wordt de tekst zonder problemen weergeven. Wanneer niet aan beide voorwaarden wordt voldaan, moet u Unicode en een Unicode-escape-reeks gebruiken om de tekst op te maken. Wanneer u een escape-reeks wilt gebruiken, voegt u de volgende ActionScript 2.0-code toe aan frame 1 op de tijdlijn:

this.createTextField("myText_txt", 99, 10, 10, 200, 25); 
myText_txt.text = "this is my text, \u00A9 2004";

Deze ActionScript-code maakt een tekstveld en voert tekst die een copyrightsymbool ( © ) bevat, in het tekstveld in.

U kunt ervoor zorgen dat een SWF-bestand de codepagina van het besturingssysteem gebruikt door middel van de eigenschap useCodepage. Wanneer Animate een SWF-bestand exporteert, wordt standaard Unicode-tekst geëxporteerd en wordtSystem.useCodepage ingesteld op false. Wanneer u problemen ondervindt met de weergave van speciale tekst of tekst op internationale systemen, kan dit probleem schijnbaar worden opgelost door de codepagina van het systeem te gebruiken. System.useCodePage vormt echter altijd een laatste redmiddel.

Als u de codepagina van het systeem wilt gebruiken, plaatst u de volgende ActionScript 2.0-coderegel in frame 1 van de tijdlijn:

System.useCodepage = true;
<< need an AS3 example here as well. See
dev/qa. >>

Opmerking:

een speciaal teken kan alleen worden weergegeven wanneer dat teken deel uitmaakt van het gebruikte lettertype op de computer van de gebruiker. Wanneer u daar niet zeker van bent, sluit u het teken of lettertype in het SWF-bestand in.

De volgende tabel bevat een aantal veelgebruikte Unicode-escape-tekens.

Tekenomschrijving

Unicode-escape-reeks

em-streepje ()

\u2014

geregistreerd-teken (®)

\u00AE

copyrightteken (©)

\u00A9

handelsmerkteken (™)

\u2122

euroteken ()

\u20AC

backslash (\)

\u005C

slash (/)

\u002F

accolade openen ({)

\u007B

accolade sluiten (})

\u007D

kleiner dan (<)

\u003C

groter dan (>)

\u003E

sterretje (*)

\u002A

De downloadprestaties van een document testen

Flash Player probeert te voldoen aan de ingestelde framesnelheid. De werkelijke framesnelheid tijdens het afspelen kan echter per computer verschillen. Wanneer een document dat wordt gedownload een bepaald frame bereikt voordat de vereiste gegevens van dat frame zijn gedownload, pauzeert het document totdat de gegevens binnen zijn.

Wanneer u het downloadproces grafisch wilt weergeven, gebruikt u Bandbreedteanalyse, die aangeeft hoeveel gegevens voor elk frame zijn verzonden op basis van de opgegeven modemsnelheid.

Opmerking: (Alleen Animate CC) De bandbreedteanalyse is niet beschikbaar met Animate CC. U kunt in plaats daarvan kiezen om Adobe Scout te gebruiken met Animate. Zie Adobe Scout met Animate gebruiken voor meer informatie.

Bij het simuleren van de downloadsnelheid, gebruikt Animate schattingen van gangbare internetsnelheden, niet de exacte modemsnelheid. Wanneer u bijvoorbeeld een modemsnelheid van 28,8 kbps wilt simuleren, stelt Animate de daadwerkelijke snelheid in op 2,3 kbps om de internetsnelheid te weerspiegelen. De analyse compenseert ook de extra compressie die voor SWF-bestanden wordt ondersteund, waardoor de bestandsgrootte afneemt en de streamingprestaties toenemen.

Wanneer externe SWF-, GIF- en XML-bestanden in een speler worden gestreamd met ActionScript-aanroepen zoals loadMovie en getUrl, worden de gegevens doorgegeven met de opgegeven snelheid voor het streamen. De streamingsnelheid voor het SWF-hoofdbestand wordt verlaagd op basis van de afname van de bandbreedte die wordt veroorzaakt door de extra gegevensaanvragen. Test uw document op elke snelheid en op elke computer die u wilt ondersteunen om er zeker van te zijn dat het document de traagste verbinding en computer waarvoor het is ontworpen niet overbelast.

U kunt ook een rapport genereren met frames die het afspelen vertragen en vervolgens de inhoud van die frames optimaliseren of deels verwijderen.

Wanneer u de instellingen wilt wijzigen voor het SWF-bestand dat wordt gemaakt met de opdrachten Film testen en Scène testen, gebruikt u Bestand > Publicatie-instellingen.

Downloadprestaties testen

  1. Ga als volgt te werk:
    • Selecteer Besturing > Scène testen of Besturing > Testen.

      Wanneer u een scène of document test, publiceert Animate de huidige selectie als een SWF-bestand met de instellingen in het dialoogvenster Publicatie-instellingen. Het SWF-bestand wordt in een nieuw venster geopend en wordt direct afgespeeld.

    • Selecteer Bestand > Openen en selecteer een SWF-bestand.

  2. Selecteer Weergave > Downloadinstellingen en selecteer een downloadsnelheid om de streamingsnelheid te bepalen die door Animate wordt gesimuleerd. Selecteer Aanpassen wanneer u een aangepaste instelling wilt invoeren.

  3. Wanneer u het SWF-bestand bekijkt, selecteert u Weergave > Bandbreedteanalyse om een grafiek van de downloadsnelheid weer te geven.

    Links in Bandbreedteanalyse wordt informatie weergegeven over het document, de instellingen, de status en eventuele streams die in het document zijn ingesloten.

    Rechts in Bandbreedteanalyse worden de tijdlijnkop en -grafiek weergegeven. Elke balk in de grafiek vertegenwoordigt een afzonderlijk frame van het document. De grootte van de balk komt overeen met de grootte van dat frame in bytes. De rode lijn onder de tijdlijnkop geeft aan of een bepaald frame realtime als stream wordt verzonden bij de huidige modemsnelheid die via het menu Besturing is ingesteld. Wanneer de balk boven de rode lijn uitkomt, moet het document wachten totdat dat frame is geladen.

    Opmerking: (Alleen Animate CC) De bandbreedteanalyse is niet beschikbaar met Animate CC. U kunt in plaats daarvan kiezen om Adobe Scout te gebruiken met Animate. Zie Adobe Scout met Animate gebruiken voor meer informatie.

     

  4. Selecteer Weergave > Download simuleren om streaming in of uit te schakelen.

    Wanneer u streaming uitschakelt, begint het document opnieuw zonder een internetverbinding te simuleren.

    Opmerking: (Alleen Animate CC) De optie Download simuleren is niet beschikbaar in Animate CC.

     

  5. Klik op een balk op de grafiek om de instellingen voor het bijbehorende frame in het linkervenster weer te geven en het document te stoppen.
  6. Pas zo nodig de weergave van de grafiek aan door een van de volgende handelingen uit te voeren:
    • Selecteer Weergave > Streaming grafiek om aan te geven welke frames pauzes veroorzaken.

      Deze standaardweergave toont afwisselend lichtgrijze en donkergrijze blokken die elk frame vertegenwoordigen. De zijde van elk blok geeft de relatieve grootte in bytes aan. In het eerste frame wordt de inhoud van een symbool opgeslagen, zodat dit vaak groter is dan andere frames.

    • Selecteer Weergave > Frame-na-framegrafiek om de grootte van elk frame weer te geven.

      Deze weergave helpt u te bepalen welke frames bijdragen aan streamingvertraging. Wanneer een frameblok boven de rode lijn in de grafiek uitsteekt, stopt Flash Player de weergave totdat het gehele frame is gedownload.

  7. Sluit het testvenster om naar de ontwerpomgeving terug te gaan.

    Nadat u een testomgeving met behulp van Bandbreedteanalyse hebt opgezet, kunt u elk SWF-bestand direct in de testomgeving openen. Het bestand wordt in een Flash Player-venster geopend, waarbij de opties van Bandbreedteanalyse en andere geselecteerde weergaveopties worden gebruikt.

    Opmerking: (Alleen Animate CC) De bandbreedteanalyse is niet beschikbaar met Animate CC. U kunt in plaats daarvan kiezen om Adobe Scout te gebruiken met Animate. Zie Adobe Scout met Animate gebruiken voor meer informatie.

     

Eindrapport genereren

  1. Selecteer Bestand > Publicatie-instellingen en klik op het tabblad Animate.

  2. Selecteer Grootterapport genereren.
  3. Klik op Publiceren.

    Animate genereert een tekstbestand met de extensie .txt. (Wanneer het documentbestand myMovie.fla heet, heet het tekstbestand myMovie Report.txt.) In het rapport wordt de grootte van elk frame, elke vorm, elke tekst, elk geluid, elke video en elke ActionScript-code per frame vermeld.

Dit werk is gelicentieerd onder de Creative Commons Naamsvermelding/Niet-commercieel/Gelijk delen 3.0 Unported-licentie  De voorwaarden van Creative Commons zijn niet van toepassing op Twitter™- en Facebook-berichten.

Juridische kennisgevingen   |   Online privacybeleid