Closed Bug 901574 Opened 11 years ago Closed 11 years ago

WebGL canvas disappears after a few seconds

Categories

(Core :: Graphics: CanvasWebGL, defect)

22 Branch
x86_64
Windows 8
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 917160
Tracking Status
firefox22 --- affected
firefox23 --- affected
firefox24 --- affected
firefox25 --- affected
firefox26 --- affected

People

(Reporter: ashley, Assigned: jgilbert)

References

(Blocks 1 open bug, )

Details

(Keywords: regression, Whiteboard: [games:p1] webgl-conformance)

User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 Steps to reproduce: 1. Visit http://www.scirra.com/demos/c2/watertransition/ 2. Wait 2-10 seconds Actual results: After a few moments, the screen goes black. Expected results: The screen should never go black - it should keep rendering the same thing.
Some technical details: this is made with the Construct 2 HTML5 engine, rendering to HTML5 canvas using a WebGL context. Our game loop is based on requestAnimationFrame. If nothing changes on the screen, it does not issue any draw calls. It appears if no draw calls are made to a WebGL context, after a few seconds Firefox blanks out the canvas. As soon as draw calls are made again, it comes back (click the screen after it's gone blank and a shader transition starts running). Our users tell us this is affecting stable Firefox, and I've verified Nightly 25.0a1 is affected too. All Construct 2 games are affected from what we can tell. The workaround is to keep re-drawing the whole game every requestAnimationFrame, but that is a waste of resources when nothing is changing on-screen.
Component: Untriaged → Canvas: WebGL
Product: Firefox → Core
Note also that Chrome 28 is not affected.
So my quick investigation... * load the page * accept the storage * page blanks * clicking causes the canvas to update * Shift reloading the page while the mouse cursor is outside the content results in the canvas staying visible * mousing over the content window causes the canvas to immediately blank
Status: UNCONFIRMED → NEW
Ever confirmed: true
Also note that this is a regression, and it worked correctly in prior versions of Firefox.
This sounds a lot like snapshotting issues, again.
Steps to reproduce: 1. Visit http://www.scirra.com/demos/c2/watertransition/ 2. Mouse over bookmark on Bookmarks toolbar OR menu on MenuBar 1st Regression window: Good: http://hg.mozilla.org/mozilla-central/rev/d57a813c77a4 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20130220 Firefox/22.0 ID:20130220165456 Bad: http://hg.mozilla.org/mozilla-central/rev/702d2814efbf Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20130221 Firefox/22.0 ID:20130221050602 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=d57a813c77a4&tochange=702d2814efbf Regressed by: 82747d694e7a Jeff Gilbert — Bug 716859 - Streaming GLContext buffers (doublebuffering, etc) - r=bjacob,jrmuizel,vlad Working window: Bad: http://hg.mozilla.org/mozilla-central/rev/702d2814efbf Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20130221 Firefox/22.0 ID:20130221050602 Good, Working again: http://hg.mozilla.org/mozilla-central/rev/885cde564ff3 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20130221 Firefox/22.0 ID:20130221115546 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=702d2814efbf&tochange=885cde564ff3 Working again: 885cde564ff3 Ed Morley — Backed out changeset 82747d694e7a (bug 716859) for android reftest-2 timeouts 2nd regression window Good: http://hg.mozilla.org/mozilla-central/rev/e946347c031f Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20130222 Firefox/22.0 ID:20130222081706 Bad, Broken again: http://hg.mozilla.org/mozilla-central/rev/e36f42046452 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20130222 Firefox/22.0 ID:20130222094333 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=e946347c031f&tochange=e36f42046452 Regressed again by: 3a7d4085787e Jeff Gilbert — Bug 716859 - Streaming GLContext buffers (doublebuffering, etc) - r=bjacob,jrmuizel,vlad 6c64bae71de5 Jeff Muizelaar — Bustage fix for bug 716859. r=bjacob,joe CLOSED TREE Don't try to pass the conformance tests if we've disabled webgl.
Blocks: 716859
Version: 25 Branch → 22 Branch
Jeff, you're ok with this assigned to you?
Assignee: nobody → jgilbert
Recent regression, breaks real-world applications, therefore games:p1
Whiteboard: [games:p1]
Whiteboard: [games:p1] → [games:p1] webgl-conformance
Looks like it might be fixed in Nightly 27.0a1. Can anyone confirm?
I can reproduce the problem easily if Firefox start with new profile. (But when Firefox start with existing profile, it slightly difficult to reproduce.) http://hg.mozilla.org/mozilla-central/rev/b5d24ef1eb37 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 ID:20131005030203 STR 1. Start with newly created profile 2. Open URL 3. Wait for a 10 sec after display completion of the image 4. Move mouse pointer to the tab(or new tab button) slowly Actual Results: The contents area becomes black
This might be bug 917160.
This is very likely fixed by bug 917160. Can you still reproduce this?
Flags: needinfo?(ashley)
Can't reproduce in Nightly 27.0a1 2013-10-09. Looks good to me now.
Flags: needinfo?(ashley)
I also can't reproduce the problem with 27.0a1 2013-10-10.
Fixed window(m-c) Bad: http://hg.mozilla.org/mozilla-central/rev/56b0a41985f3 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 ID:20131007184923 Fixed: http://hg.mozilla.org/mozilla-central/rev/67595062eee3 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 ID:20131008043852 Fixed Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=56b0a41985f3&tochange=67595062eee3 Fixed by: 1134b18371d3 Jeff Gilbert — Bug 917160 - AssureBlitted before switching EGLSurfaces with MakeCurrent. - r=bjacob
Depends on: 917160
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Blocks: gecko-games
You need to log in before you can comment on or make changes to this bug.