Closed Bug 723444 Opened 12 years ago Closed 12 years ago

Angry Birds is running jerky

Categories

(Core :: Graphics: CanvasWebGL, defect)

11 Branch
x86_64
Windows 7
defect
Not set
normal

Tracking

()

VERIFIED FIXED
Tracking Status
firefox10 - ---
firefox11 + ---

People

(Reporter: sbadau, Assigned: jgilbert)

References

()

Details

(Keywords: regression, Whiteboard: [11b1])

Attachments

(2 files)

Mozilla/5.0 (Windows NT 5.0; rv:11.0) Gecko/20100101 Firefox/11.0

Angry Birds is running jerky in a Win2k host environment.

Reproducible: always

Steps to reproduce:
1. Go to http://chrome.angrybirds.com/
2. Play Angry Birds

Expected results:
Angry Birds loads and is playable without any problems.

Actual results:
Angry Birds is playing jerky.
Whiteboard: [11b1]
Same behavior on Win 7 64-bit. But the issue is not reproducible with hardware acceleration off.
On Google Chrome the game works fine.
Please paste the contents of your about:support Graphics section.
Build identifier: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0

Graphics:

Adapter Description: NVIDIA GeForce 210
Vendor ID: 0x10de
Device ID: 0x0a65
Adapter RAM: 1024
Adapter Drivers: nvd3dumx,nvwgf2umx,nvwgf2umx nvd3dum,nvwgf2um,nvwgf2um
Driver Version: 8.17.12.8026
Driver Date: 8-3-2011
Direct2D Enabled: true
DirectWrite Enabled: true (6.1.7600.16699)
ClearType Parameters: ClearType parameters not found
WebGL Renderer: Google Inc. -- ANGLE (NVIDIA GeForce 210) -- OpenGL ES 2.0 (ANGLE 1.0.0.930)
GPU Accelerated Windows: 1/1 Direct3D 10
AzureBackend: direct2d
Mozilla/5.0 (Windows NT 5.0; rv:11.0) Gecko/20100101 Firefox/11.0
On Windows 2000 the content of the about:support Graphics section is:

Adapter Description: Intel(R) 82865G Graphics Controller
Vendor ID: 0x8086
Device ID: 0x2572
Adapter RAM: Unknown
Adapter Drivers: ialmrnt5
Driver Version: 6.14.10.4396
Driver Date: 9-20-2005
WebGL Renderer: false
GPU Accelerated Windows: 0. Blocked for your operating system version.
Simona, what's happening it that hardware acceleration is disabled on Windows 2000, and WebGL is blocked on your driver version, see https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers

Paul, this is concerning, Angry Birds WebGL should be fast for you. But I really don't know where to start investigating this without access to your machine. Can you reproduce this on a clean profile?
I'm able to see this issue both on Win XP and Win 7 64-bit. Strange that on Win 7 32-bit the game works just fine. How does it look to you on these OSes ?
Benoit, can you reproduce this on Win 7 32-bit vs 64-bit?
Paul, can you please re-test this using Firefox 10.0, 10.0.1, and ESR?
The game works fine on 10.0, 10.0.1 and ESR, but there is still an issue on 11b2.
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0
OS: Windows 2000 → Windows 7
Hardware: x86 → x86_64
Thanks Paul, can you see if this is a regression introduced during Firefox 11? Landings would have happened on mozilla-central between 2011-11-09 and 2011-12-20.
While looking for the regression range, I found another issue related to this.
So:

Last good nightly: 2011-11-20 - no problems until here
First bad nightly: 2011-11-21 - from here, the game is not rendered completely, missing parts of the game (see screenshots attached), but it's not running jerky yet.
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=7dd46087e678&tochange=78cd6a30e250

2011-12-17 - game not displayed properly, not jerky yet
2011-12-18 - game not displayed properly, but jerky from here
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=cbb0233c7ba8&tochange=a5e63e00db27

2012-01-04 - game not displayed properly and jerky
2012-01-05 - from here, the game is completely displayed, but still jerky
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=200a8d1fb452&tochange=4795500b7c1d
Keywords: regression
Attached image good
Attached image bad
(In reply to Paul Silaghi [QA] from comment #11)
> While looking for the regression range, I found another issue related to
> this.
> So:
> 
> Last good nightly: 2011-11-20 - no problems until here
> First bad nightly: 2011-11-21 - from here, the game is not rendered
> completely, missing parts of the game (see screenshots attached), but it's
> not running jerky yet.
> Pushlog:
> http://hg.mozilla.org/mozilla-central/
> pushloghtml?fromchange=7dd46087e678&tochange=78cd6a30e250

Only significant changeset there is the ANGLE upgrade to r885:
http://hg.mozilla.org/mozilla-central/rev/18e1ab585ad0

> 
> 2011-12-17 - game not displayed properly, not jerky yet
> 2011-12-18 - game not displayed properly, but jerky from here
> Pushlog:
> http://hg.mozilla.org/mozilla-central/
> pushloghtml?fromchange=cbb0233c7ba8&tochange=a5e63e00db27

Possibly relevant csets:

a5c58e9199a3	Jeff Gilbert — Bug 708124 - Remove unnecessary glFlushs from Layers - r=bjacob

9ba4a7f652fb	Jeff Gilbert — Bug 705024 - Guarantee GLContexts are resolved properly - r=bjacob

43aeb296b99e	Jeff Gilbert — Bug 698169 - Make WebGL texSubImage2D respect alpha-premultiplied DOM sources - r=bjacob



> 
> 2012-01-04 - game not displayed properly and jerky
> 2012-01-05 - from here, the game is completely displayed, but still jerky
> Pushlog:
> http://hg.mozilla.org/mozilla-central/
> pushloghtml?fromchange=200a8d1fb452&tochange=4795500b7c1d

Only relevant cset in this window is the ANGLE r930 upgrade (from r924):

6ffca345df2b	Benoit Jacob — Bug 713266 - Update ANGLE to r930 - no review



Conclusion:
 - the display problems were a ANGLE bug that's now fixed (in Firefox >= 12)
 - the jerkiness seems to be a regression from Jeff's patches from December 17-18.
Indeed. I seem to be able to repro the jerkiness, so I'll take a look.
At first glance, it looks like it's probably the GuaranteeResolve exception for ANGLE.
Assignee: nobody → jgilbert
Status: NEW → ASSIGNED
Please target a fix prior to 2/21 so that a patch can land in our 4th beta. After that, it'll be more difficult to take a fix unless deemed /very/ low risk. Thanks!
I can't seem to reproduce jerk on my Win7-64.
I put a patch together which may fix this and sent it to try to get builds: https://tbpl.mozilla.org/?tree=Try&rev=581e7ab46aee

Once it's built, can people who /can/ reproduce the jerkiness try to reproduce with the build from try?
I can definitely reproduce this with the win64 try build from the link in comment 17. I'm running a Windows 7 64-bit VM.
I can also reproduce the jerkiness on the win64 try build. I'm running Windows 7 Ultimate 64-bit
(In reply to Jeff Gilbert [:jgilbert] from comment #17)
> I can't seem to reproduce jerk on my Win7-64.
> I put a patch together which may fix this and sent it to try to get builds:
> https://tbpl.mozilla.org/?tree=Try&rev=581e7ab46aee
> 
> Once it's built, can people who /can/ reproduce the jerkiness try to
> reproduce with the build from try?

Jeff - we have reproducible cases of this. How can we continue to help with your investigation? Could we vend out multiple try builds with different suspected changesets backed out and hand them off to QA?
Can I get a thorough description and/or video of this jerkiness?
This sounds like it might be an issue with switching over to resolving our buffers, which is not something we can work around without multibuffering.

Alternatively, if this is an issue with buffer bloat, the app just needs to glFlush after it's done rendering.

I'll try to spin up a build to figure this out.
I'm uploading a screencast to vimeo of me playing the first level. I think the screencast tool is making the jerkiness worse than it normally is, but it will give you an idea of the problem. I'll link it here once it's ready (~30 min from now).
Actually, once it builds, can someone try the build at https://tbpl.mozilla.org/?tree=Try&rev=6da91e85ba3f ?

This could be an issue from implementing the ANGLE flush-to-resolve path.
Vimeo is taking too long so I uploaded it to my personal FTP:
http://exoteri.ca/bugzilla/723444/2012-02-23_1528.swf

How long until the try-build in comment 24 is ready?
Looks like it started at 3:47, and they usually take about 150m or so, so probably around 6:15 PST?

It'll definitely be faster to build locally, if possible. There's one conflict from the second patch, but it's safe to ignore. The order must be the same as the try build, though. Otherwise the conflict is not safe.
(In reply to Jeff Gilbert [:jgilbert] from comment #24)
> Actually, once it builds, can someone try the build at
> https://tbpl.mozilla.org/?tree=Try&rev=6da91e85ba3f ?
> 
> This could be an issue from implementing the ANGLE flush-to-resolve path.

Jerkiness is no longer seen on both try-win32 and try-win64 builds on Win 7/64.
But still an issue on Win XP.
Is the XP regression window the same as win7? It's possible the jerkiness we're seeing there could actually be bug 724476.
I can reproduce extreme slowness on WinXP, like 0.1 FPS or so; the good news is that the following tryserver build, that has the patches from bug 724476, makes it very fast (and correctly rendering, too) for me:

https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/jgilbert@mozilla.com-51e6adba8282/
(In reply to Benoit Jacob [:bjacob] from comment #29)
> I can reproduce extreme slowness on WinXP, like 0.1 FPS or so; the good news
> is that the following tryserver build, that has the patches from bug 724476,
> makes it very fast (and correctly rendering, too) for me:
> 
> https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/jgilbert@mozilla.
> com-51e6adba8282/

I confirm. The game is running fine on Win XP on the above build.
Couple of questions here -

* Is this code path specific to Angry Birds or will it be more commonly triggered in other web apps as well?
* Are the patches in bug 724476 low enough risk to uplift to our second to last beta build for Firefox 11? What about a subset of those patches?
(In reply to Alex Keybl [:akeybl] from comment #31)
> Couple of questions here -
> 
> * Is this code path specific to Angry Birds or will it be more commonly
> triggered in other web apps as well?

These issues are universal.

> * Are the patches in bug 724476 low enough risk to uplift to our second to
> last beta build for Firefox 11? What about a subset of those patches?

The fix for bug 724476 is very low-risk.
(In reply to Jeff Gilbert [:jgilbert] from comment #32)
> > * Are the patches in bug 724476 low enough risk to uplift to our second to
> > last beta build for Firefox 11? What about a subset of those patches?
> 
> The fix for bug 724476 is very low-risk.

In https://bugzilla.mozilla.org/show_bug.cgi?id=724476#c45 you suggest that the patch is not necessary for beta - can you clarify if the fix in bug 724476 would resolve this bug for Beta 11? If so, please nominate for approval - we'll address at this afternoon's channel meeting.
Bug 724476 is a performance regression for d3d9 layers. Bug 727178 it the bug that fixes the jankiness. It's the bug which we need to back-port to beta.
Can I get confirmation whether the fix for bug 727178 fixed the jankiness?
(In reply to Jeff Gilbert [:jgilbert] from comment #35)
> Can I get confirmation whether the fix for bug 727178 fixed the jankiness?

Particularly on Aurora win7+winXP and nightly winXP.
Nightly win7 might be better, but it still has a major perf regression in bug 726396, which could appear as jerkiness.
(In reply to Jeff Gilbert [:jgilbert] from comment #35)
> Can I get confirmation whether the fix for bug 727178 fixed the jankiness?

Adding qawanted to find out if this was fixed by landing the patch in bug 727178 on mozilla-beta.
Keywords: qawanted
Tested on Win 7/64, Ubuntu 11.10 and Mac OS X 10.6 on FF 11b5.
Jerkiness is almost gone, there are still some small glitches seen, probably related to bug 726396.
(In reply to Paul Silaghi [QA] from comment #38)
> Tested on Win 7/64, Ubuntu 11.10 and Mac OS X 10.6 on FF 11b5.
> Jerkiness is almost gone, there are still some small glitches seen, probably
> related to bug 726396.

Paul, can you do a comparison to Firefox 10? We need to be sure that this was fixed by bug 727178.
I would say it looks the same to me both on 10.0.2 and 11b5.
Tested on Win 7/64, Ubuntu 11.04, Mac OS X 10.7 and Win XP.
(In reply to Paul Silaghi [QA] from comment #40)
> I would say it looks the same to me both on 10.0.2 and 11b5.
> Tested on Win 7/64, Ubuntu 11.04, Mac OS X 10.7 and Win XP.

If you aren't seeing a difference between Firefox 10 and 11 then that would seem to indicate that *nothing* has been fixed. Please clarify.
(In reply to Anthony Hughes, Mozilla QA (irc: ashughes) from comment #41)
> (In reply to Paul Silaghi [QA] from comment #40)
> > I would say it looks the same to me both on 10.0.2 and 11b5.
> > Tested on Win 7/64, Ubuntu 11.04, Mac OS X 10.7 and Win XP.
> 
> If you aren't seeing a difference between Firefox 10 and 11 then that would
> seem to indicate that *nothing* has been fixed. Please clarify.

The regression here is in Fx 11, so shouldn't we be seeing no change between behavior on 10 and the fixed 11?
(In reply to Jeff Gilbert [:jgilbert] from comment #42)
> The regression here is in Fx 11, so shouldn't we be seeing no change between
> behavior on 10 and the fixed 11?

I don't know -- Alex?
(In reply to Paul Silaghi [QA] from comment #9)
> The game works fine on 10.0, 10.0.1 and ESR, but there is still an issue on
> 11b2.
> Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0

Jerkiness appeared once with FF 11. In FF 10 everything was ok.
(In reply to Anthony Hughes, Mozilla QA (irc: ashughes) from comment #43)
> (In reply to Jeff Gilbert [:jgilbert] from comment #42)
> > The regression here is in Fx 11, so shouldn't we be seeing no change between
> > behavior on 10 and the fixed 11?
> 
> I don't know -- Alex?

Yeah - I'm not sure why I marked this as tracking for FF10 at the time. We can also compare the previous beta to the latest to see if there's any difference.
Testing chrome.angrybirds.com on level 25 of the Season's Greetings level, I noticed that both Firefox 10 & 11 Beta were equally jerky (no improvement seen).
Comparing Chrome on level 25 to FF 10 & 11, the jerkiness appears to be significantly less (there's some, but not as much as seen in FF 10 & 11).
Btw, I am testing on Win 7 64-bit with:

WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics Family) -- OpenGL ES 2.0 (ANGLE 1.0.0.930)
GPU Accelerated Windows2/2 Direct3D 10
AzureBackend direct2d
Jason, could you do some comparative testing with the Windows 7 machine in the QA Lab (I believe it has a discrete card)? It would be good to have some data on discrete graphics cards for comparison.
Most immediately relevant is whether we have fixed the regression, which is appears we have. (pending the phase-2 fix for win7 from 726396)

I would recommend filing a follow-up bug about getting jerkiness down to parity with chrome, since this one is about the regression(s).
Depends on: 726396, 724476
@Anthony Sure. Just as an additional note on my machine, also tested level 1 with Angry birds - FF 10 & 11 appeared to have the same amount of occasional jerkiness.
Jason, I made a mistake...this is apparently a regression in Firefox 11.0b1. My expectation is that Firefox 11.0b6 should perform similarly to Firefox 10, but be better than Firefox 11.0b1.

Can you please verify?
Angry Birds is currently broken in Firefox 11 Beta 6. I cannot start a level (click a level to start it, nothing happens).
Also cannot start a level on Firefox 10.0.2. Could this be a graphics card issue?

Graphics Card: NVIDIA Quadro NVS 295
WebGL Render: Google Inc. -- ANGLE (NVIDIA Quadro NVS 295) -- OpenGL ES 2.0 (ANGLE 0.0.0.809)
GPU Accelerated Windows: 1/1 Direct3D 10
Note: Comments 53 & 54 are using a different machine with that NVIDIA card.
Just re-tested with my Win 7 64-bit with:

WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics Family) -- OpenGL ES 2.0 (ANGLE 1.0.0.930)
GPU Accelerated Windows2/2 Direct3D 10
AzureBackend direct2d

Jerkiness for level 1 & 25 appeared to be same on FF 11 Beta 1 & 6.
Most likely, I can't reproduce this issue on the machine specified in comment 56.
(In reply to Jason Smith from comment #56)
> Just re-tested with my Win 7 64-bit with:
> 
> WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics Family) -- OpenGL
> ES 2.0 (ANGLE 1.0.0.930)
> GPU Accelerated Windows2/2 Direct3D 10
> AzureBackend direct2d
> 
> Jerkiness for level 1 & 25 appeared to be same on FF 11 Beta 1 & 6.

Is there a regression in jerkiness between 10 and 11?
What we're looking for is:
10 - Good
11b1 - Worse than 10
11b6 - Same as 10

If 10 is the same as 11b1, 11b6 will not be an improvement over 11b1.
For Jason's testing I think he showed:
* 10 - Jerky
* 11b1 - Same as 10
* 11b6 - Same as 10

In my opinion, all this proves is that he is not able to reproduce the bug as described. I've asked Paul, who was able to reproduce this bug, to do some testing (he should come online in 8 hours or so).
Build identifier: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0

Paul couldn't test this today (urgent matters to solve) but I've tested using Angry birds on the same machine on which he could initially reproduce-Windows x86_64.

Tested using chrome.angrybirds.com (first three-four levels)

10.0.2 - Working fine
11 b1 - could reproduce the reported jerkiness
11 b6 - works fine-didn't spot any visual issues - same as 10 for me
Thanks Virgil.

Given that I think we can confirm the 11b1 regression has been fixed and qawanted is no longer required. Can we call this FIXED?
Keywords: qawanted
Sounds good.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Marking VERIFIED FIXED based on comment 60.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: