- From: Ashley Gullen <ashley@scirra.com>
- Date: Fri, 19 Jul 2013 15:09:34 +0100
- To: "whatwg@whatwg.org" <whatwg@whatwg.org>
FWIW, imageBitmap.discard() wouldn't be unprecedented - WebGL allows you to explicitly release memory with deleteTexture() rather than letting the GC collect unused textures. Ashley On 18 July 2013 17:50, Ian Hickson <ian@hixie.ch> wrote: > On Wed, 9 Jan 2013, Ashley Gullen wrote: > > > > Some developers are starting to design large scale games using our HTML5 > > game engine, and we're finding we're running in to memory management > > issues. Consider a device with 50mb of texture memory available. A > > game might contain 100mb of texture assets, but only use a maximum of > > 30mb of them at a time (e.g. if there are three levels each using 30mb > > of different assets, and a menu that uses 10mb of assets). This game > > ought to fit in memory at all times, but if a user agent is not smart > > about how image loading is handled, it could run out of memory. > > > > [...] > > > > Some ideas: > > 1) add new functions to the canvas 2D context, such as: > > ctx.load(image): cache an image in memory so it can be immediately drawn > > when drawImage() is first used > > ctx.unload(image): release the image from memory > > The Web API tries to use garbage collection for this; the idea being that > you load the images you need when you need them, then discard then when > you're done, and the memory gets reclaimed when possible. > > We could introduce a mechanism to flush ImageBitmap objects more forcibly, > e.g. imageBitmap.discard(). This would be a pretty new thing, though. Are > there any browser vendors who have opinions about this? > > We should probably wait to see if people are able to use ImageBitmap with > garbage collection first. Note, though, that ImageBitmap doesn't really > add anything you couldn't do with <img> before, in the non-Worker case. > That is, you could just create <img> elements then lose references to them > when you wanted them GC'ed; if that isn't working today, I don't see why > it would start working with ImageBitmap. > > -- > Ian Hickson U+1047E )\._.,--....,'``. fL > http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. > Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.' >
Received on Friday, 19 July 2013 14:10:00 UTC