Wow.  I don't think it is supposed to do that.  Please create a simple
test case and create a JIRA issue.

-Alex

On 12/3/13 5:53 PM, "David Coleman" <david_coleman_...@hotmail.com> wrote:

>For instance i have an app in flash builder with a boat load of modules
>
>I set one of these modules to be optimized for MyApp.mxml
>
>the embedded images in MyOptimizedModule end up in MyApp.mxml.
>
>The good thing is that MyApp and MyOptimizedModule can now be statically
>linked w/o doubling its size.  the bad thing is that now I have defeated
>the purpose of putting my assets in the module.
>
>can I optimize a module for MyApp without all of its embedded assets
>ending up in the optimization target?
>
>It is my understanding that optimizing a module for a specific
>application ends up removing all embedded assets from the module and
>storing them in the application.
>
>If you want i can reproduce this in a few example projects and post it up
>on my git.
>
>> From: aha...@adobe.com
>> To: dev@flex.apache.org
>> Date: Tue, 3 Dec 2013 17:19:06 -0800
>> Subject: Re: SharedLibrary not works with SDK 4.11
>> 
>> I don't understand the part about embedded assets.  Can you provide more
>> details?  The -externs option should let you keep any class out of any
>>SWF.
>> 
>> You can create a shared code module or pack other classes needed by
>> modules onto extra frames of the main SWF.
>> 
>> -Alex
>> 
>> On 12/3/13 4:05 PM, "David Coleman" <david_coleman_...@hotmail.com>
>>wrote:
>> 
>> >I do agree with your numbers, (how could I not - they are spot on).
>>The
>> >primary issue is that WE host the rsl or the static link difference.
>>and
>> >the static link difference affects the size of our modules too.  So
>>it's
>> >100% more for modules, and since we have 7.8 MB of modules (18
>>different
>> >popups each with animations/hd graphics etc), then we are talking about
>> >static linking costing a lot more.
>> >
>> >If i can customize an RSL to service all 18 modules and the main app
>>and
>> >only have to distribute one file, that is even better for a new user
>>than
>> >the Adobe RSL's... ok we have to pay for the CDN costs... but it's less
>> >than an extra 7.8 MB of static links for all our modules.
>> >
>> >Harbs pointed out the exact reason RSL is so critical to our use case.
>> >Modules are doubled.
>> >
>> >Now, if the modules could only statically link what is lacking in the
>> >static links of the main application, with out optimizing them and
>> >pushing all the embedded assets to the main application... kinda like a
>> >"half-optimized" module, then static link could really work for us.
>>but
>> >as long as an optimized module will push all the assets into the main
>> >app, i can't optimize them to share the static links.  so they need
>>their
>> >own static links...
>> >
>> >Maybe this is something that can work!
>> >
>> >how can i optimize a module to share the static links of the main app
>> >without pushing all the embedded assets in the module to the main app?
>> >does mxmlc include a metatag to exclude a class (embedded asset) from
>> >module optimization?  so it would stay in the module while i optimize
>>it
>> >for the main app, and then only have to statically link the few bits
>>and
>> >pieces that are lacking in each.
>> >
>> >> From: aha...@adobe.com
>> >> To: dev@flex.apache.org
>> >> Date: Tue, 3 Dec 2013 15:51:44 -0800
>> >> Subject: Re: SharedLibrary not works with SDK 4.11
>> >> 
>> >> OK, so let me make sure I understand:
>> >> 
>> >> For first time users, they have to download 3MB of Assets and the
>>600K
>> >>SWF
>> >> and hopefully not the 1.4MB's of framework RSLs.
>> >> For returning users, 3MB Assets and 600K SWF is hopefully in the
>>browser
>> >> cache.
>> >> 
>> >> If you switch to Apache Flex:
>> >> First-time users will have to download either
>> >> 1) 3MB of Assets, 600K of SWF and 1.4MB of RSLs from your CDN.
>> >> 2) 3MB of Assets and 1.2MB of SWF if you statically link.
>> >> 
>> >> So, Apache Flex statically linked is another 600K and represents an
>> >> additional 12% in download time.
>> >> 
>> >> I don't know what the RSL penetration is of Flex 4.5.1, but every day
>> >> folks are buying new computers and there are fewer and fewer Flex
>>4.5.1
>> >> apps out there in the world so the probability your first-time
>>customers
>> >> will have those RSLs is diminishing.  Over time, more and more of
>>your
>> >> customers will be downloading the 1.4MB of framework RSLs as well,
>>and
>> >>the
>> >> statically linked solution will be the smaller download.
>> >> 
>> >> Have you used ItDepends or a similar link-report analyzer to see how
>> >>much
>> >> of that 600K is Greensock, Tweener and other stuff?
>> >> 
>> >> -Alex
>> >> 
>> >> On 12/3/13 3:11 PM, "David Coleman" <david_coleman_...@hotmail.com>
>> >>wrote:
>> >> 
>> >> >Upon re-reading this I realize that I didn't understand your
>>question.
>> >> >
>> >> >What it will save us is that in the majority of instances, we will
>> >> >benefit from the cached RSL.
>> >> >
>> >> >And we will be able to still push smaller files so that NEW users do
>> >>not
>> >> >see a jump in the time that it takes to open the app.
>> >> >
>> >> >Competition is high in this genre of games, and being the fastest to
>> >>load
>> >> >is important.  We won "Best social Casino Product of 2013" this
>>year.
>> >> >Maybe if we were not the fastest to load we might have still won.
>> >>Maybe
>> >> >not.  But we are.  And I would hazard the guess that it played a
>>role.
>> >> >Many ppl already HAVE the RSL's cached on their machines.  I have to
>> >> >offset that benefit by minimizing as much as possible the hit that
>>any
>> >> >Apache based solution would incur.
>> >> >
>> >> >As with any social game the first impression is the most important
>>one.
>> >> >Especially with those who are disposed to spend real money.  I know
>> >>that
>> >> >TECHNICALLY there are many reasons to just link it statically and
>> >>forget
>> >> >about it.  But from a business perspective, every shred of speed
>>that
>> >>we
>> >> >can statistically extract from the app is worth it.
>> >> >
>> >> >I can't justify moving all the framework RSL's to our CDN and
>>storing
>> >> >them in browser only cache instead of perpetual flash player
>>storage.
>> >> >That's why I asked about local storage hacks.  I CAN justify
>>putting a
>> >> >SINGLE file on our CDN, if it means greater stability (ie: new SDK)
>>and
>> >> >downloading a smaller amount of bytes than the 4.5.1 RSL's.  a few
>> >>bytes
>> >> >are big money when you are distributing them to a million ppl.
>> >> >
>> >> >Unfortunately, that's the reality of the business side of a social
>> >>app. :(
>> >> >
>> >> >
>> >> >> From: david_coleman_...@hotmail.com
>> >> >> To: dev@flex.apache.org
>> >> >> Subject: RE: SharedLibrary not works with SDK 4.11
>> >> >> Date: Tue, 3 Dec 2013 19:56:13 -0300
>> >> >> 
>> >> >> It saves us a great deal of time and resources when we have to
>> >>release
>> >> >>new art.
>> >> >> 
>> >> >> We can break cache on the art asset module and not have to run a
>>full
>> >> >>QA regression on the main app.  This gives us the flexibility as a
>> >> >>company to deliver constantly changing content to our users w/o
>> >>forcing
>> >> >>them to download every file again, or dedicating our time and
>> >>resources
>> >> >>to QA of the application when we only want to change a single
>>image in
>> >> >>the game list.
>> >> >> 
>> >> >> It is a logistical and political need as much as it is a technical
>> >> >>decision to approach it this way.
>> >> >> 
>> >> >> > From: aha...@adobe.com
>> >> >> > To: dev@flex.apache.org
>> >> >> > Date: Tue, 3 Dec 2013 14:43:33 -0800
>> >> >> > Subject: Re: SharedLibrary not works with SDK 4.11
>> >> >> > 
>> >> >> > 
>> >> >> > 
>> >> >> > On 12/3/13 2:38 PM, "David Coleman"
>><david_coleman_...@hotmail.com>
>> >> >>wrote:
>> >> >> > 
>> >> >> > >Actually Alex, what is the biggest culprit in our file is
>> >>Greensock,
>> >> >>and
>> >> >> > >after that, a whole mess of engine logic needed to handle the
>> >> >>interface
>> >> >> > >with the games.  Also some of our legacy animations use
>>Tweener,
>> >>so
>> >> >>for
>> >> >> > >now I'm cursed with having to include BOTH libs in the main
>>app.
>> >> >> > >
>> >> >> > >I also think that 500K is too much and like I said, each
>>version I
>> >> >> > >whittle it down a little more.
>> >> >> > >
>> >> >> > >I've often thought of loading the engine container as a module
>>to
>> >> >>remove
>> >> >> > >another 100K or so from the main app.
>> >> >> > >
>> >> >> > >How would i create a custom RSL?  Can I automate it via ant to
>> >> >>generate
>> >> >> > >it via the link-reports?  I'd like to keep one RSL for ALL
>>files,
>> >> >>app,
>> >> >> > >and modules to increase cache hits, and not hit a different
>>file
>> >>each
>> >> >> > >time.
>> >> >> > >
>> >> >> > >I'm really curious to experiment with this.  It's ok if the
>> >>browser
>> >> >>cache
>> >> >> > >expires, that's beyond my control, but 99% of the time it will
>>be
>> >>a
>> >> >> > >benefit - I'm ok with those numbers.
>> >> >> > I asked this in the other reply, but how will that save you
>>over a
>> >> >>single
>> >> >> > monolithic SWF?  If you're not in the cache, then instead of
>> >>loading
>> >> >>two
>> >> >> > things, one of which may contain classes you don't need until
>> >>later,
>> >> >>you
>> >> >> > only load what you need when you need it.
>> >> >> > 
>> >> >> > -Alex                        
>> >> >> > 
>> >> >>                                        
>> >> >                                           
>> >> 
>> >                                      
>> 
>                                         

Reply via email to