Operation Manual

Naar boven
Naar boven
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 en schuiven van filmclips met ActionScript in ActionScript 2.0 leren in Adobe Flash
Een filmclip in cache plaatsen in ActionScript 2.0 leren in Adobe Flash
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