8 Replies Latest reply on Oct 17, 2006 2:08 AM by Peter Lorent

    Runtime Shared Libray

      How does symbols are transfered from the source library SWF to the destination SWF at runtime?

      Someone told me that ALL the shared objects in the source library are transfered to the destination library even if the destination library use only a few of them. In other words, the whole shared library is imported all the time. Doesn't make sense to me but I need to make sure, is that true?

      Example, I have a source SWF with 16 shared objects and a destination library using only 4 of them. Does all 16 objects will be transfered or only the 4 in use?
        • 1. Re: Runtime Shared Libray
          S4Potential Level 1
          Maybe what's really happening is for the source library to be all downloaded to the local cache first for the shared symbols to be accessible?

          How does it work?

          Any Adobe employee monitoring this forum?

          Is this forum for beginners? If yes, where can I find a forum for advanced questions?
          • 2. Re: Runtime Shared Libray
            Peter Lorent Level 2
            How advanced is it to hit F1 in Flash and search for 'shared library'...
            • 3. Re: Runtime Shared Libray
              S4Potential Level 1
              Well Luidgi, you're a smart guy. Aren't you?

              I've looked at the help. I can use shaerd assets with nom problems. I just cannot find how is the transfer is done between libraries which may have huge impact on download time if you have a 3meg library and some SWF use 300Kb of it while some others use some of this 300kb and some other assets not used by the first. one, etc...

              See, if you take the time to read the help, you'll see that a runtime shared asset is retrieved at runtime, not compile time. Hence the word runtime.

              My question is: Does the source library SWF completly download to the end-user cache or just the linked asset do?

              Not, How do we use shared libraries.

              I suspect the whole SWF of the source library is downloaded. I simply would like to make sure.

              Do you know the answer to this question?
              • 4. Re: Runtime Shared Libray
                Peter Lorent Level 2
                Without you putting in some control (preloader), Flash will use its streaming format to load the library. Which could mean not all of your assets will be loaded before your movie proceeds. You will have to make sure the complete library has loaded before you proceed with your movie.
                • 5. Re: Runtime Shared Libray
                  S4Potential Level 1
                  So what I should understand from your answer is the whole library is downloaded. Not just the shared assets.

                  Even if it was just the shared assets I knew I would have to wait for them to be loaded. That's why I selected "Export in first frame" but if they all download then I have to wait for them all to be downloaded if they are all exported in the first frame. That makes a BIG difference :o)

                  I have different scenarios in mind to circumvent this problem. That's why I need to know for sure what is the transfer mechanism behind the shared library feature.

                  • 6. Re: Runtime Shared Libray
                    Peter Lorent Level 2
                    The principal is the same as every movie will download without any preloading mechanism. As soon as enough frames are loaded the movie starts -> the streaming format. So the movie will start loading the library and - sometimes - the movie will start to play while not all of your assets are loaded. You need to make sure the whole library is loaded - hence the use of a preloader - before you start the movie.
                    Yes, the whole library gets loaded but if you do not use a preloader to load all assets completely, you cannot be sure the playback will be as expected.
                    • 7. Re: Runtime Shared Libray
                      S4Potential Level 1
                      When you physically put assets in the first frame of the root timeline of a movie all assets in that frame must be loaded before the movie starts playing.

                      I'm assuming that using the "Export to first frame" option in the source library will act the same way as having the assets physically dropped in frame one of the destination movie root timeline thus, the destination movie shouldn't start playing untill all the assets of the shared library are downloaded to frame one.

                      This is the way it is working for assets like wave files when embeded in the library and exported for runtime usage.

                      Are you implying that shared assets exported to the first frame don't behave like that with the end result that we cannot rely on them to all be ready in frame 2 of the root timeline of the destination movie?
                      • 8. Re: Runtime Shared Libray
                        Peter Lorent Level 2
                        Correct. You can't rely on the loading process. To be sure, use a preloader.