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.