DeviceCentral

ONDERWERP KOMT VOOR IN:

Bitmap- en vectorafbeeldingen van Flash Lite in mobiele apparaten

In Flash Lite kunnen zowel vector- als bitmapafbeeldingen worden gerenderd. Elk type afbeelding heeft zijn voor- en nadelen. Of u vector- of bitmapafbeeldingen moet gebruiken is niet altijd duidelijk en hangt vaak af van meerdere factoren.

Vectorafbeeldingen worden in een compacte vorm in SWF-bestanden opgenomen als wiskundige vergelijkingen en worden tijdens runtime gerenderd door de Flash Lite-speler. In tegenstelling tot vectorafbeeldingen worden bitmapafbeeldingen opgenomen als reeksen afbeeldingselementen (pixels). Dit vereist meer bytes aan gegevens. Als u dus vectorafbeeldingen in een bestand gebruikt, kunt u de grootte van het bestand en het geheugengebruik beperken.

Vectorafbeeldingen behouden ook hun vloeiende vormen wanneer ze groter of kleiner worden gemaakt. Als bitmapafbeeldingen groter of kleiner worden gemaakt, worden vloeiende lijnen mogelijk hoekig weergegeven of worden de afzonderlijke pixels zichtbaar.

Vergeleken met bitmapafbeeldingen vergen vectorafbeeldingen meer verwerkingscapaciteit voor het renderen. Dit geldt met name voor vectorafbeeldingen met veel complexe vormen en vullingen. Het gebruik van veel vectorvormen kan er daarom toe leiden dat het hele bestand langzamer wordt weergegeven. Omdat voor het renderen van bitmapafbeeldingen minder verwerkingstijd nodig is dan voor het renderen van vectorafbeeldingen, zijn bitmapafbeeldingen voor bepaalde bestanden een betere keus, bijvoorbeeld voor een complexe plattegrond waarop animaties te zien zijn en waarmee moet worden geschoven op een mobiele telefoon.

Houd het volgende in uw achterhoofd:

  • Gebruik geen omtrekken voor vectorvormen. Omtrekken hebben een binnen- en een buitenrand (vullingen hebben slechts één rand) en er is twee keer zoveel verwerkingstijd nodig om deze omtrekken te renderen.

  • Hoeken zijn eenvoudiger te renderen dan curven. Gebruik, indien mogelijk, platte randen, met name bij zeer kleine vectorvormen.

  • Optimalisatie is vooral nuttig voor kleine vectorvormen, zoals pictogrammen. Bij het renderen van complexe pictogrammen gaan mogelijk details verloren, en is al het werk dat het kost om de details te renderen, voor niets geweest.

  • Gebruik daar waar mogelijk bitmapafbeeldingen voor kleine, complexe afbeeldingen, zoals pictogrammen, en gebruik vectorafbeeldingen voor grotere, eenvoudige afbeeldingen.

  • Importeer bitmapafbeeldingen met de juiste grootte. Importeer geen grote afbeeldingen om deze vervolgens kleiner te maken in Flash, omdat hierdoor de bestanden groter worden en er een groter beroep wordt gedaan op het runtimegeheugen.

  • In de Flash Lite-speler kunt u bitmapafbeeldingen niet vloeiender maken. Als een bitmapafbeelding wordt geschaald of geroteerd, wordt de afbeelding hoekig of lijkt deze ineens uit blokjes te zijn opgebouwd. Als een afbeelding moet worden geschaald of geroteerd, kunt u in plaats van een bitmapafbeelding beter een vectorafbeelding gebruiken.

  • Tekst is in wezen een zeer complexe vectorvorm. Natuurlijk is tekst vaak van essentieel belang en kan tekst slechts zelden volledig worden weggelaten. Wanneer er tekst nodig is, moet u die tekst niet van animaties voorzien of boven op een animatie plaatsen. Overweeg om tekst in de vorm van een bitmapafbeelding te gebruiken. Voor dynamische tekst en invoertekst van meerdere regels wordt het regeleinde van de tekstreeks niet in de cache opgeslagen. In Flash worden regels tijdens runtime afgebroken en worden de regeleinden telkens opnieuw berekend wanneer het tekstveld opnieuw moet worden getekend. Statische tekst levert geen problemen op omdat het afbreken van de regels vooraf tijdens het compileren wordt berekend. Voor dynamische inhoud is het gebruik van dynamische tekstvelden onontkoombaar, maar gebruik, als dat maar enigszins mogelijk is, liever statische tekstvelden dan dynamische tekstvelden.

  • Maak zo min mogelijk gebruik van transparantie in PNG-bestanden. Bij het opnieuw tekenen moet Flash zelfs de transparante delen van de bitmapafbeelding berekenen. Met een transparant PNG-bestand dat een voorgrondelement voorstelt, moet u bijvoorbeeld niet het transparante PNG-bestand exporteren met de volledige schermgrootte. Exporteer het PNG-bestand in plaats daarvan met de daadwerkelijke grootte van het voorgrondelement.

  • Probeer de bitmaplagen en de vectorlagen afzonderlijk te groeperen. Flash moet verschillende renderers voor bitmap- en vectorinhoud implementeren en het overschakelen van de ene renderer naar de andere kost tijd.