Closed Bug 883089 Opened 11 years ago Closed 8 years ago

[azure]Peak memory consumption increases (+2.4GB) since Firefox7, This is remarkable especially if browser is staying in minimized and lower value dom.min_background_timeout_value (10).

Categories

(Core :: Graphics: Canvas2D, defect)

7 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: alice0775, Unassigned)

References

Details

(Keywords: memory-footprint, regression, Whiteboard: DUPME, [MemShrink:P2][gfx-noted])

Attachments

(1 file)

Build Identifier:
http://hg.mozilla.org/mozilla-central/rev/68760713a30f
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20130613 Firefox/24.0 ID:20130613031237

This is clone of Bug 881644. 
The Bug 881644 described that the problem had occurred since Firefox6.

However, this problem occurs since Firefox7. So, I filed a separate bug.

This problem is remarkable especially if browser is staying in minimized and lower value dom.min_background_timeout_value (10).

 1. Start Firefox with a clean profile. set dom.min_background_timeout_value=10 if necessary.

 2. Open the Windows Task Manager by Ctrl-Shift-ESC.
 3. Go to "Processes" tab and find "firefox.exe" out.

 4. Open the "scratch pad" (Shift-F4) on your Firefox.
    If you are testing on an old Firefox, use the alternative:
    http://piro.sakura.ne.jp/apps/jspanel.html
 5. Run following script:

 6. Minimize all Firefox's window.

------------------------------------------------------------------------
var canvas = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas');
canvas.width = 100;
canvas.height = 100;
canvas.setAttribute('style', 'width:100px;height:100px;position:fixed;top:0;right:0;z-index:10000;');
document.documentElement.appendChild(canvas);
var context = canvas.getContext('2d');
 
function random(max) {
  return parseInt(Math.random() * max);
}
 
function createGradient() {
  var gradient = context.createLinearGradient(0, 0, 100, 100);
  gradient.addColorStop(0, 'rgba(0,0,0,0)');
  gradient.addColorStop(1, 'rgba(' + random(255) + ',' + random(255) + ',' + random(255) + ',255)');
  return gradient;
}
 
function drawGradien() {
  context.save();
  context.strokeStyle = createGradient();
  context.beginPath();
  context.lineWidth = 10;
  context.lineCap = 'square';
  context.moveTo(random(100), 0);
  context.lineTo(random(100), 100);
  context.closePath();
  context.stroke();
  context.restore();
}
 
window.setInterval(drawGradien, 10);
window.setInterval(drawGradien, 10);
window.setInterval(drawGradien, 10);
window.setInterval(drawGradien, 10);
window.setInterval(drawGradien, 10);
------------------------------------------------------------------------

Actual Results:
the memory become increase increase increase +2GB... until re-activate browser window

Expected Results:
Peak memory usage should not increase like Firefox 6.


Regression window(m-c)
Good:
http://hg.mozilla.org/mozilla-central/rev/450e4d9ea2d5
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0a1) Gecko/20110624 Firefox/7.0a1 ID:20110625025936
Bad:
http://hg.mozilla.org/mozilla-central/rev/48ad4ffc4230
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0a1) Gecko/20110625 Firefox/7.0a1 ID:20110625030821
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=450e4d9ea2d5&tochange=48ad4ffc4230

Regression window(m-c)
Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/c65f1fb0449d
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0a1) Gecko/20110624 Firefox/7.0a1 ID:20110624094307
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/46c3d095bc75
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0a1) Gecko/20110624 Firefox/7.0a1 ID:20110624104626
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=c65f1fb0449d&tochange=46c3d095bc75

Regressed by: Bug 651858
Whiteboard: DUPME
setting gfx.canvas.azure.backends;direct2d = skia,cairo helps
Summary: Peak memory consumption increases since Firefox7, This is remarkable especially if browser is staying in minimized and lower value dom.min_background_timeout_value (10). → [azure]Peak memory consumption increases since Firefox7, This is remarkable especially if browser is staying in minimized and lower value dom.min_background_timeout_value (10).
Oops,

setting gfx.canvas.azure.backends  = skia,cairo helps
Keywords: footprint
Summary: [azure]Peak memory consumption increases since Firefox7, This is remarkable especially if browser is staying in minimized and lower value dom.min_background_timeout_value (10). → [azure]Peak memory consumption increases (+2.4GB) since Firefox7, This is remarkable especially if browser is staying in minimized and lower value dom.min_background_timeout_value (10).
Whiteboard: DUPME → DUPME, [MemShrink]
Bas, any ideas here?
Component: General → Canvas: 2D
Flags: needinfo?(bas)
Whiteboard: DUPME, [MemShrink] → DUPME, [MemShrink:P2]
I'm guessing this is graphics card specific, I haven't seen this. I've got some testing application on my people that can tell use things about different graphics card behavior. There might be some things we can do by fiddling with flags.
Flags: needinfo?(bas)
Alice, does this still reproduce for you?
Flags: needinfo?(alice0775)
Whiteboard: DUPME, [MemShrink:P2] → DUPME, [MemShrink:P2][gfx-noted]
I cannot reproduce the problem on Windows10 even in the bad build.
Status: NEW → RESOLVED
Closed: 8 years ago
Flags: needinfo?(alice0775)
Resolution: --- → INCOMPLETE
Resolution: INCOMPLETE → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: