Heres a few follow up questions, incidently;

a) Is it possible, in all browsers, to tell when a few items have been
prefetched?
I know you can do this if its attached to the dom and your loading an
image normaly. (save for some problems in IE where you have to set a
timer and look for image width...).

b) If I do have to load, say, upto 10 images that have to be seperate,
is it better to just loop over a list of them prefetching and leave it
upto the browser....or should I put a timer and trigger a load every,
say, 5 seconds ?
(or dosnt it make much difference).




On Feb 6, 9:14 am, Litty Preeth <preeth.h...@gmail.com> wrote:
> > > "You are thinking of loading 20MB of images into the DHTML DOM of you
> > > application"
>
> > > Am I? Does the DOM keep them there even when not displayed?
> > > These images certainly wouldnt be displayed all at once. 1 or 2 at a
> > > time at most.
>
> > I'm not absolutely sure, but I think if you load an image it is
> > basically attached to a document, whether the browser caches it or
> > not, and whether it is currently visible of not. You don't control the
> > browser cache, I mean I don't think you can tell it to conveniently
> > download all your images and store them neatly on disk until you need
> > to display them for example.
>
> ah, pig.
> I thought that was exactly that prefetch was doing -sigh-
> I thought it loaded it to ram first, then the browser keeps a copy in
> its cache for reloading if needed.
> -sigh-
> That does change things indeed then.
>
> AFAIK the prefetch creates an IMG element but its not attached to the DOM.
>
> - Litty
>
> On Fri, Feb 6, 2009 at 1:03 PM, darkflame <darkfl...@gmail.com> wrote:
>
> > > > "You are thinking of loading 20MB of images into the DHTML DOM of you
> > > > application"
>
> > > > Am I? Does the DOM keep them there even when not displayed?
> > > > These images certainly wouldnt be displayed all at once. 1 or 2 at a
> > > > time at most.
>
> > > I'm not absolutely sure, but I think if you load an image it is
> > > basically attached to a document, whether the browser caches it or
> > > not, and whether it is currently visible of not. You don't control the
> > > browser cache, I mean I don't think you can tell it to conveniently
> > > download all your images and store them neatly on disk until you need
> > > to display them for example.
>
> > ah, pig.
> > I thought that was exactly that prefetch was doing -sigh-
> > I thought it loaded it to ram first, then the browser keeps a copy in
> > its cache for reloading if needed.
> > -sigh-
> > That does change things indeed then.
>
> > > > Again, not at once.
> > > > Surely a staggered download they wouldnt have a problem with?
> > > > Emulating, say, what it would expect from a user browseing DeviantArt?
>
> > > yeah, the staggered download is basically the idea of the maze - each
> > > time you move to next location you've only got one locations worth of
> > > images to fetch. Or if it worked fast enough you could fetch all the
> > > required images for the adjoining locations so they would be ready to
> > > go instantly. It depends entirely on no of image bytes per location.
>
> > Yes, I looks like I'll be switching to a as-you-go-along-it-loads-the-
> > next-rooms approach.
> > Allthough...
>
> > > Point is doing it this way old images are thrown away and can be
> > > garbage collected as you go, so you are not accumulating images in
> > > memory. It's stable. (assuming I'm right about the how this works of
> > > course).
>
> > ...I'm not sure there will be much that can be chucked away in this
> > game.
> > My engine is able to remove items easily enough, but for this game
> > items from the start of the game are still usefull at the end, so
> > theres only a few case's when images can be removed never to be
> > recalled.
>
> > > > ". The point of
> > > > the composite image strip is to fetch several images in one request
> > > > since they come in a single binary file. "
>
> > > > Yes, I understand the point of them, and I think image bundles are a
> > > > great idea.
> > > > (In fact, online in general, theres probably a lot of wasted bandwidth
> > > > used on little UI elements on webpages..like 5kb gifs etc....)
> > > > In this specific case though they arnt approperate.
> > > > Not unless I got the server to dynamically splice the images together
> > > > and the client to cut them up.
> > > > But thats beyond the scope of the projects timeframe.
>
> > > This is exactly what the GWT ImageBundle does (and what has been best
> > > practice in web design for years). Annoyingly for you GWT only does
> > > this once per module because Bruce says they can't think of a single
> > > use case for needing separate ImageBundles!  My bet is that if you
> > > just start loading all the images as you are suggesting, you will have
> > > to attach them to the DOM somewhere, so ultimately what you will be
> > > doing is building the entire game at the same time as the player is
> > > trying to play the first locations. So my betting is three to one on
> > > a) whilst this build is going on the game play will be badly affected
> > > at precisely the time you least want it to, and b) once you've loaded
> > > it all it will run like a dog anyway.
>
> > Yes, I think your right there.
> > But I think cutting up 30MB of images client side might actualy raise
> > the required specs of the game :P
>
> > > I may well be wrong, but if I'm not, and you looked at the maze idea
> > > as plan B, then using image strips a la ImageBundle will make the game
> > > run much faster and smoother, so the effort might well be critical in
> > > the end. This is after all the heart of your technical challenge. This
> > > has been done so many times I expect you will find some javascript
> > > code that cuts them up (or maybe CSS stuff) to crib from somewhere and
> > > some server side tools to pack the image strips as well.
>
> > I may have miss-understoof how image bundles worked completely here
> > though, as I originaly thought they were fixed at compile-time.
> > From the perspective of people editing the game content (images/text),
> > what would they have to do?
> > Run a script file of some sort every time they changed an image in the
> > game?
> > Or would the image be spliced together server-side for each user as
> > they request the javascript? (which would surely increase sever load
> > and load time too)
>
> > I'm thinking strongly of going for the maze-techique now, but still
> > need the best method/approach for loading within it.
> > (Basicaly ; "I know theres these 10 large images to be loaded for the
> > next area, whats the best way to do it so the client dosnt notice the
> > loading")
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to Google-Web-Toolkit@googlegroups.com
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to