Open
Bug 813540
Opened 12 years ago
Updated 2 years ago
Add 'critical memory event' in addition to current 'memory pressure event's
Categories
(Core :: Graphics: CanvasWebGL, enhancement, P3)
Core
Graphics: CanvasWebGL
Tracking
()
NEW
People
(Reporter: jgilbert, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [games:p?])
Currently, in response to memory pressure events, we drop all WebGLContexts with context-lost. What we should consider is doing a first round of memory freeing in response to memory pressure events, where we drop all caches and all non-required memory buffers. That is, we should do a pass where we try to benignly free up memory before doing a second 'critical memory event' pass where we break anything.
Concept:
Memory pressure event:
Drop cached memory
JS content memory pressure event? (bug 813530)
GC/CC
Lose old/unused WebGL contexts? [1]
Critical memory pressure event:
Lose WebGL contexts
This could allow us to reduce memory usage without always killing the WebGLContext. This could allow webgl content to continue running, with only a hiccup while we tear down caches and GC. If we still haven't freed enough[2] after the low memory event, we could trigger a critical memory event and axe webgl contexts. (Restoring GL data can be very expensive for an app, even when implemented properly)
[1] If a webgl context hasn't been used in the last, say, 10m, we might want to consider these 'expendable' for the purposes of freeing memory.
[2] This is probably the big questionmark here. Maybe we could check our memory usage before and after the low-memory event, and only trigger critical-memory if we don't manage to free much. (Perhaps as a percent of total usage?)
Reporter | ||
Updated•12 years ago
|
OS: Linux → All
Hardware: x86_64 → All
Flagging this as p2; it's a good idea to be more fine-grained for memory, though it mainly matters for mobile. There we have other work to do to get to significant viability before this becomes an issue.
I do like losing old/unused WebGL contexts first though; unused + in inactive tabs could be good.
Whiteboard: [games:p?] → [games:p2]
Updated•11 years ago
|
Blocks: gecko-games
Whiteboard: [games:p2] → [games:p?]
Updated•8 years ago
|
Reporter | ||
Updated•6 years ago
|
Type: defect → enhancement
Priority: -- → P3
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•