» »

Flash animacija čez cel zaslon se zatika

Flash animacija čez cel zaslon se zatika

marco09 ::

Torej, kot že naslov pove, naredil sem Flash animacijo dimenzije okrog 2200 x 800 px, ki se prikazuje čez cel zaslon (noBorder) možnost: http://demo.altius.si/zzz/flash.

Problem je v tem, ker se na večini recimo temu pisarniških računalnikih tale zadeva zatika.
Ko jo vključim na spletno stran kot modul, je zatikanje še hujše.

Uporabljam okrog 30 layerjev in pa recimo enih 10-15 animacij simbolov.
Je to preveč ali je problem v čem drugem?
Do sedaj sem namreč delal vedno manjše animacije, nikoli čez cel zaslon in se nisem srečal s temi problemi.

Upam, da ima kdo izkušnje s čim takim?

popster ::

mogoče če bi naredil v html5 bi delovalo hitreje..

Mesar ::

2200 x 800 px?

Velikost zadev v MB?

Pomanjšaj animacijo in jo nato raztegni... al pa trpi :D
Your turn to burn!

marco09 ::

Html 5 mi je težje narediti tako animacijo, ko so simboli vključeni - vgnezdene animacije, v Flashu je to čisto preprosto. Dvomim tudi, da bi html 5 animacija čez cel zaslon, kot je ta, delovala bolje. Sem pretvoril tole zadevo s pomočjo Google Swiffy v html5 in se zatika celo na mojem računalniku.

Velikost datoteke je drugače samo 140 kB, skoraj vse je vektorsko.
Poskušal sem tudi zmanjšat animacijo na 500 px širine in jo potem raztegnit - ni nobenega učinka. Kot da bi bil problem v izrisovanju končne velikosti.
Je pa to zahteva naročnika - animacija čez celo širino strani ob vseh resolucijah (no, desktop resolucijah).

Ima kdo kakšen boljši predlog oz. rešitev?

Invictus ::

Namesto vektorske animacije naredi animiran GIF.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

garamond ::

Najprej opazke:
- Površina je prevelika. Skoraj nihče ne uporablja zaslona, ki ima več kot 1920px po širini - tvoj swf ima 2200px. Zaradi velike površine tudi večje zatikanje.
- Ljudje imajo zelo različne zaslone. Nekaterim se bo skrilo skoraj vse, razen sredine. V HTMLju se zadnja leta to rešuje z "responsive" dizajnom, kjer se elementi lahko povečajo glede na velikost brskalnika. V Flashu lahko to sprogramiraš.

Rešitve:
- Uporabi "direct" v html: http://helpx.adobe.com/flash/kb/flash-o... Lahko da bo delalo hitreje z eno spremembo v manj kot minuti :-)
- Poskusi narediti brez alpha prozornosti
- Zmanjšaš framerate
- In zadnje: zmanjšaš vse skupaj. Če se spet poveča v brskalniku, to ni problem, ker je še vedno manj pixlov za zračunat.

Komentar:
Čeprav je več dela, se tole lahko naredi tudi v html (potem bi delalo na mobilnih napravah).

marco09 ::

Hvala za predloge garamond! Končno nekdo, ki se spozna.
Površina animacije je ravno pravšnja - precej nas v službi uporablja monitorje z resolucijo 2048 x 1152 px. Animacijo sem zaključil na robovih, tako da pride nekaj več kot 2200 - da ni naenkrat odsekano pri še večjih resolucijah. Morda bom sedaj zmanjšal vse skupaj na 2048 px - da bo pač zaključena že pri tej resoluciji. Čeprav sem preizkusil pomanjšat celotno animacijo v flashu na 500 px (stage in vse elemente) in potem v html povečal, a ni bilo opazne razlike.

Direct deluje res precej bolje, žal se takoj pojavi problem, ko vključim animacijo na spletno stran in se nad njo spusti meni s transparentnim ozadjem rgba recimo 0.7. Ozadja več ni. Verjetno bom žrtvoval prosojnost menija. Moram sicer še v službi jutri preveriti na drugih računalnikih. Sedaj mi je sicer postalo jasno zakaj je še počasneje delalo, ko sem vključil animacijo preko iframe-a in z vmode transparent (da so se spustni meniji sploh videli). Sedaj imam sicer vključen swf brez direktno brez iframe-a.

Sicer mislim pri resolucijah manjših od 1024 px animacijo nadomestiti s sliko ali kakšno light html 5 verzijo animacije. Pomembno je, da dela ta, kot je potrebno, se zavedam, da se je skrije čedalje več, a to ni pomembno v tem primeru. Morda vseeno namig kako se v flashu to sprogramira, da se poveča pri določeni resoluciji? - ostane pa seveda čez cel zaslon, kot je sedaj. In ne mislim tega, da je vedno vidna cela, tega nočem.

Bom sicer še poskusil ukinit alpha prozornost in zmanjšat framerate, čeprav ne vem kako naj brez tega lepo animiram sonce recimo. Ampak za test bi bilo, sem bral nekaj na netu že prej, da je lahko predvsem prozornost problematična. Verjetno tudi 3D rotacija objektov ni ravno nedolžna?

Kateri program predlagaš za html 5? Gledam nekaj Adobe Edge in je videt kar obetaven.


---
O animiranih gif-ih ne bi izgubljal besed :)

garamond ::

- Mislim da boš res moral žrtvovati transparentnost nad swf-jem, ker drugače "direct" strojno pospeševanje ne dela v večini brskalnikov.
- Pri resize celega swf-ja imaš še možnost "noborder". Večina uporabnikov bi potem videla celotno vsebino vertikalno in horizontalno odrezano pri stranicah. Možno je sicer uporabiti "noscale" kot sedaj, s tem da programsko spreminjaš velikost ozadja (mora biti vse v enem MovieClipu), da je isti efekt kot pri "noborder" - ampak navigacijo pa pustiš na sredini in da se njena velikost ne spreminja. Ta rešitev sicer postaja že komplicirana, je pa ena od možnih stvari.
- S framerate jaz ne bi šel pod 24fps. Alpha prozornosti pa, kolikor sem videl, se da večino narediti tudi brez z enakim izgledom. Uporabiš lahko še možnost "cache as bitmap" pri grafiki, to bi lahko precej pohitrilo zadeve.
- HTML5: Kar se samo animacije tiče, ne vem. Obetavno izgleda http://www.createjs.com/, ki ga podpira Adobe, in lahko animacijo izvoziš tudi iz Flash Pro.
- Drugače sem še kar prepričan, da je možno vse skupaj narediti tako, da teče s 60fps -- s strojnim pospeševanjem v mislih od začetka -- s knjižnicami za razvoj 2D iger kot recimo Flambe, OpenFL, Starling itd, ali pa kakšne izključno HTML5. Se pa animacija potem vedno pretvori v rastrske slike (kot pri GIFu :D) in je velikost datoteke večja. In uporabljati moraš ne preveč razširjena orodja.
- Drugič lahko kaj takega vprašaš na stackoverflow.com, ker je tole že precej natančno za ST ;-)

marco09 ::

Hvala za dodatne predloge in pojasnila.
Dejansko k odpravi zatikanja najbolj pripomore možnost direct in pa odstranitev alpha.
Še posebej gibanje čez cel zaslon (oblaki) z uporabo transparentnosti je problematično.
Zaenkrat sem odstranil gibanje oblakov in pa animacijo sonca (nimam ideje kako bi animacijo naredil lepo brez transparentnosti - morda bom uporabil tint v belo barvo) in je dosti bolje!

Težava se sicer pojavi pri Chromu, ki na slabših računalnikih kot kaže izpušča frame-e pri možnosti direct. Kar seveda tudi ni dobro, saj se recimo začetna animacija kar pojavi, sploh ni vidne animacije skoraj nič. Zraven tega, da meni preko animacije ni prozoren, se tudi odpira bolj na "trdo" in počasi.
Skratka ni idealno, je pa precej boljše v celoti. Bom še moral kaj stestirati.

Za Cache as bitmap sem upal, da bo bolje, ampak nima vpliva, morda je še za malenkost slabše, če za vse simbole uporabim to možnost.
Noborder na spletni strani uporabljam že sedaj - dejansko mi je to idealna postavitev za spletno stran.

Sem pa našel tukaj še nekaj drugih možnih vzrokov za zatikanje. Žal uporabljam ravno stvari, ki jih ne bi smel.

Ne mi si mislil, da je full screen lahko tak problem. Do zdaj sem delal samo bannerje in animacije do kakih 1000 px in se nisem rabil obremenjevati s tem. Ah. :|


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Firefox bo privzeto blokiral vse vtičnike razen Flasha (strani: 1 2 )

Oddelek: Novice / Brskalniki
5219120 (16666) gendale
»

Flash

Oddelek: Izdelava spletišč
383760 (3173) Vice
»

Različen prikaz strani!

Oddelek: Izdelava spletišč
191627 (1478) pivmik
»

A se da, da bi...

Oddelek: Programiranje
101233 (1012) Freak
»

Flash sranje

Oddelek: Omrežja in internet
51582 (1448) Jeronimo

Več podobnih tem