Avatar billede migduvednok Nybegynder
19. marts 2007 - 13:56 Der er 16 kommentarer og
1 løsning

Flash filstørrelse - vigtigt!

Har en Flash website (31,8 mb FLA / 4,5 mb SWF) som jeg har nogle spørgsmål til - den kan ses på www.designafmikkel.dk/whatscooking

1) jeg har lavet min flash så det første billede fader ind så snart at preloaderen er færdig.
Selve flashen er lavet ved billedet tweener ind fra 0 alpha til 100 alphe og pauser på 100 alpha indtil brugeren interagerer på menuerne.

Men når den uploades og ses via websiten, fungerer preloaderen udemærket, men selve flashen hopper DIREKTE til den pause jeg har lavet på 100 Alpha... den fader altså ikke ind som designet men hpper til første STOP-kode.
HVORFOR!?? Og hvordan løser jeg det?



2: når jeg loader websiten med flashen på første gang, fungerer preloaderen udemærket og den viser selve siden fint. Men de næste gange vises flashen ikke, blot den sorte baggrund. Det kan kun løses ved at lukke browseren og starten en ny op og loade siden igen. HVORFOR og hvordan løser jeg det?



3: Jeg vil have meget bløde overgange imellem hver side, så jeg har mange frames der tweenes over med stor FPS (30).
Spørgsmålet er om jeg kan vinde en markant lavere filesize (som swf) ved at tweene over færre frames og samtidig nedsætte FPS? Altså ikke ændre på symbols eller keyframes.



4: hver "side" er et billede som det tweneenes imellem - siderne er lavet i PNG (3-3,5MB) som er importeret til Flash og brugt som MovieClips.
Vil det nedsætte min filesize (som swf) hvis jeg importerer siderne som JPG (800kb) istedet og bruger dem som movieclips?
Avatar billede maqhem Nybegynder
19. marts 2007 - 15:47 #1
Til nummer 3:
To simple steps til at få nedsat din filstørrelse:
  1. Hent billederne ind fra et sekondært directory (hvis du kan dit matematik, kan du integrere dette i din load)
  2. Lav dine fades med AS i stedet for tweens - dette gør det også nemmere at rette i bagefter.

Blot én af disse burde være ret effektivt angående din fils størrelse.
Avatar billede migduvednok Nybegynder
19. marts 2007 - 16:24 #2
jeg er desværre ikke ferm nok til at kunne gøre det med AS ;-( (hverken eller af svarene)
Avatar billede samohtrelhe Praktikant
19. marts 2007 - 23:12 #3
Hej.
Tweens fylder ikke, frames fylder heller ikke og slet ikke i de nyrere versioner af Flash. Flot lavet i øvrigt.
Da dine billeder skal være max. ca 960 x 576 for at passe i en browser på en skærm i 1024*768, er din billeder sikkert ALT for store i udgangspunktet (3072*2048 eller lign).
De er ikke til at få komprimeret passende til skærmen.
Gem dem i det format din scene er i (eller bare 1024 på den lange led) og brug derefter feks. Photoshops Save for web til at få dem ned i størrelse. Du kommer nemt ned under 200K uden synligt tab.
tænk på at en 512 ADSL vil bruge 1½ minut på at loade 4,5 Mb :-(

Ang. din indledende tween må jeg nok se FLA filen for at fange den.
Evt skal du bare have en Stop i frame 1 i din tween og fra preloaderen få movie clippet til at spille fra frame 2, når 100% er loadet: "Movieclippetsnavn"/gotoAndPlay(2).

Jeg har faktisk selv en lignende fade på en gammel side: http://www.ehler.dk/divx/
Avatar billede samohtrelhe Praktikant
19. marts 2007 - 23:22 #4
Hele den side, med Hund og menuer, fylder 37K.
Den er godt nok kun lavet i 15 FPS men som sagt, det betyder ikke noget for størrelsen.
Avatar billede samohtrelhe Praktikant
20. marts 2007 - 23:41 #5
Du må hellere lukke denne også:
http://www.eksperten.dk/spm/767905
Avatar billede larsholmgaard_dk Nybegynder
21. marts 2007 - 12:53 #6
Det er ikke helt korrekt Thomas (samohtrelhe) - tweens fylder en del. Og frames fylder også en smule. Det er en af grundene til at man tit programmerer bevægelser matematisk.
Avatar billede maqhem Nybegynder
21. marts 2007 - 16:37 #7
Tak, larsholmgaard_dk. Det mente jeg jo nok, og jeg havde lige brug for lidt assistance og lidt opbakning i min teori, og det var du lige mand for.
Så er alle mine kodede bevægelser i mine egne projekter nemlig heller ikke spildte. Det er jo godt at vide.
Avatar billede larsholmgaard_dk Nybegynder
21. marts 2007 - 17:29 #8
Det var så lidt Maqhem. Dit arbejde er slet ikke spildt - det er langt nemmere at ændre hastighed, antal instanser osv. via nogle parametre i koden, end det er at rykke rundt med frames osv. Fortsæt du bare med at lave det sådan! :-)
Avatar billede samohtrelhe Praktikant
21. marts 2007 - 23:11 #9
I har ret! Klart nok fylder ALT man vil have Flash til at foretage sig, ét eller andet.
Men alligevel, prøv at lave en SWF fil med et billede i én frame og så den samme SWF med billedet i en tween over 500 eller 1000 frames. Det ER altså marginaler vi taler om og set i forhold til at bruge komprimerede billeder i 3000*2000 px i stedet for feks. 1000*667 eller mindre, fylder det "ikke noget".
Som jeg forstod migduvednok har han ikke styr på AS OG havde travlt.

Med en SWF fil på 4,5 Mb syntes jeg at hans største umiddelbare problem var load-tiden som jeg var overbevist om at de få billeder han har inde ikke skulle give ham så stor en fil.. Hvad det har endt med at fylde kunne iøvrigt være sjovt at vide...
Avatar billede larsholmgaard_dk Nybegynder
22. marts 2007 - 09:01 #10
Jamen, så er vi jo sådan set enige. Flashfilen burde grundlæggende laves helt anderledes og med nogle ordentlige billeder, efter min mening.
Avatar billede maqhem Nybegynder
22. marts 2007 - 10:03 #11
Jeg vil lige påpeje, at jeg havde skrevet en hel stil om dette, og pludseligt er bare væk på grund af mit elskede eksperten, der er begyndt at slette mine indlæg ude varsel. Jeg prøver lige igen...



Jeg lavede en test, og hér er resultatet:

Tween: 154845
Kode: 148779
AttachMovie + Kode: 148848
LoadClip + Loadbar + Kode: 1140


Forklaring:
Først testede jeg med to billeder af 1440x900 px i to layers, hver især med en tween på 300 frames og 30 fps. Det underste billede fadede væk, og det øverset fadede frem.
Resultat: 154845 bytes (100 %); to layers, hver især med 300 frames

Så lavede jeg det hele med kode. Ellers samme vilkår.
Resultat: 148779 bytes (96,08 %); reduktion 3,92 %; ét layer; én frame

Så syntes jeg, det ville være en interessant test at se, om det kunne reducere at sætte billederne ind i scenen med kode, frem for at have dem opbevaret på scenen fra start af, men det hjalp ikke.
Resultat: 148848 bytes (96,13 %); reduktion 3,87 %; ét layer; én frame

Til sidst ville jeg se hvor meget, det kunne hjælpe at loade billederne ind fra en ekstern sti. Se dét hjalp. Jeg lavede en lille load samt en funktionel kode. Desuden loadede den begge billeder på under et kvart sekund, og var overhovedet ikke generende. Man bemærkede den knap nok.
Resultat: 1140 bytes (0,74 %); reduktion 99,26 %; én layer; én frame


Konklusion: At loade billederne ind udefra er meget effektivt. Din fil fylder 4.5 megabytes, og selvfølgelig er altsammen ikke billeder og tweens, men i så fald ville du kunne spare 4,47 megabytes væk. Én ting er sikkert: Du vil nå langt under en halv megabyte ved dette, og hvis du så samtidigt erstatter din swf-loader med en billed-loader, vil du opnå en loadtid på samme tid vil jeg skyde på, og en meget stor reduktion.
Avatar billede maqhem Nybegynder
22. marts 2007 - 10:55 #12
Ved nærmere eftertanke... Jeg tror, din loadetid bliver mindre, men jeg ved det ikke. Det har jeg ikke lige testet efter.
Avatar billede samohtrelhe Praktikant
23. marts 2007 - 01:32 #13
kolde facts: en frame koster altså ca. 20 byte i sig selv.
Det er jo et godt tal at have med i baghovedet.
Avatar billede maqhem Nybegynder
23. marts 2007 - 06:13 #14
Og så lige lidt hovedregning:
Hver skift tager cirka 6 sekunder, frameraten er 30 fps. Dette giver 180 for hver eneste tween. Samtidigt er der et layer med tekst, dette giver pludseligt det dobbelte antal af frames, nemlig 360.
Der er 8 forskellige billedretter at se på bare ved skift på pilene. Desuden er der 8 bogstaver, man kan klikke på under MENU. Det giver 16 muligheder af 360 frames hver. 5760, og hver af disse fylder 20 bytes. Det giver 115200 bytes, 115,2 kilobyte, 0,1125 megabyte - det er i sig selv også en del at spare væk efter min mening. Så jeg mener stadig, kan burde lave det med kode :)
Avatar billede migduvednok Nybegynder
26. marts 2007 - 10:26 #15
Jeg erstattede PNG'erne ( hver på 4,5mb som MCerner er lavet af) til JPG (på 100kb), dette førte IKKE til nogen ændring i størrelse!!!

Man da jeg istedet for 30-50 frames lange tweens kortede dem af til 5-7 frames, skete der en ENORMT reduktion i filstørrelse af FLA'en, men desværre stadig ikke i SWF'en.
Avatar billede samohtrelhe Praktikant
26. marts 2007 - 20:00 #16
Prøv at lægge FLA'en et sted hvor jeg kan hente den.. 4,5Mb lyder helt vildt :-)
Avatar billede samohtrelhe Praktikant
26. marts 2007 - 23:05 #17
Altså 4,5Mb for SWF'en...
Send mig evt en mail, så skal jeg maile dig en midlertidig ftp-konto hvor du kan lægge FLA'en op...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester