W3C home > Mailing lists > Public > whatwg@whatwg.org > December 2010

[whatwg] Low Memory Event

From: Ian Hickson <ian@hixie.ch>
Date: Fri, 31 Dec 2010 03:01:39 +0000 (UTC)
Message-ID: <Pine.LNX.4.64.1012310232260.28593@ps20323.dreamhostps.com>
On Fri, 24 Sep 2010, Charles Pritchard wrote:
>
> Do we have a route, or DOM events that signal when the device has a low 
> memory condition?
> 
> My computer is constantly running low in memory. Mozilla-apps 
> (thunderbird) start hiding unneeded icons; Chrome betas just go ahead 
> and crash the active process.
> 
> Mobile platforms all have such low memory hooks for their apps.
> 
> They're necessary to allow designers to add additional logic to handle 
> the condition by releasing buffers, serializing data, using 
> localStorage, etc.

For practical reasons, we can't really constrain user agents in situations 
related to hardware limitations. Different platforms have different ways 
of dealing with these situations and it's not always possible for a user 
agent to comply with specific requirements. (For example, when running out 
of memory, the UA might no longer be able to spin up the JS interpreter.)


On Mon, 27 Sep 2010, Rob Evans wrote:
>
> I think one of the most useful things that a js script could know is how 
> much memory is available and how much the current page is using. I'm 
> writing a js game engine and knowing how much I can safely site in 
> memory would be incredibly useful!
> 
> That way I can do everything to maximize engine performance. I could 
> determine how large I could make a canvas element, how much data I can 
> store client side in arrays or if need be, switch to asking the server 
> for data more often and storing less client side.

Please don't use all my memory for your Web-based game. :-) I may just be 
running it in the background while finding a video to watch, for example, 
in which case I really don't want the game using all my resources. Also, 
resources tend not to be as simple as the above could describe. For 
example, right now you could allocate 3 GB of RAM on this machine without 
any difficulty, you could allocate 6 GB if you're willing to wait for 
other apps to be paged out, and you could allocate 12 GB if you're willing 
to have your RAM be backed by a slower medium (like disk), thrashing like 
crazy. But that's right now; maybe while you're getting the 3 GB of data 
set up, some other app will allocate 20 GB and will evict you entirely out 
of the computer. And maybe when you create a 100-character string in one 
browser it actually takes just 100 bytes, but on another browser it might 
take 1000. So not only would the information be unreliable, it would be 
insufficient to really make good judgements.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'
Received on Thursday, 30 December 2010 19:01:39 UTC

This archive was generated by hypermail 2.3.1 : Monday, 13 April 2015 23:09:02 UTC