Closed Bug 615365 Opened 14 years ago Closed 8 years ago

[D3D10]Frame of FishIE Tank skips every 1-2 seconds if D3D10 enabled

Categories

(Core :: Graphics, defect)

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
mozilla2.0
Tracking Status
blocking2.0 --- -

People

(Reporter: alice0775, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: ietestdrive)

Build Identifier: 
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101019 Firefox/4.0b8pre ID:20101019132546

Under condition of D3D10 enabled,
Though FPS shows normal(around 30FPS/1000fishes).
Frame of FishIE Tank skips every 1-2 seconds.
It seems to hiccup.

If I set layers.prefer-d3d9 to true, the problem does not happen.

Reproducible: Always

Steps to Reproduce:
1. Start Minefield with new profile + D2D + D3D10
2. Open URL ( http://ie.microsoft.com/testdrive/Performance/FishIETank/ )
3. Choose number of fish (A possible, big number)
4. Observe screen

Actual Results:
 Frame of FishIE Tank skips every 1-2 seconds.
 It seems to hiccup

Expected Results:
 Stop to hiccup


Regression window:
Works:
http://hg.mozilla.org/mozilla-central/rev/299089194744
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101019 Firefox/4.0b8pre ID:20101019152005
Fails:
http://hg.mozilla.org/mozilla-central/rev/f3606eb16232
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101019 Firefox/4.0b8pre ID:20101019132546
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=299089194744&tochange=f3606eb16232


Graphics
Adapter Description
        ATI Radeon HD 4300/4500 Series
Vendor ID
        1002
Device ID
        954f
Adapter RAM
        512
Adapter Drivers
        aticfx64 aticfx64 aticfx32 aticfx32 atiumd64 atidxx64 atiumdag atidxx32 atiumdva atiumd6a atitmm64
Driver Version
        8.791.0.0
Driver Date

Direct2D Enabled
        true
DirectWrite Enabled
        true
GPU Accelerated Windows
      1/1 Direct3D 10
That regression window is just enabling D3D10 so is not related to the actual problem :(. There's a good chance this has always been in D3D10 layers, fwiw I cannot reproduce this on a GT230M or an HD 5800 series. We'll need to find a system that can reproduce this to track it down.
Regression Window(with user_pref("layers.use-d3d10", true);)
Works;
http://hg.mozilla.org/mozilla-central/rev/edf05b298094
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100930 Firefox/4.0b7pre ID:20100930135722
Fails:
http://hg.mozilla.org/mozilla-central/rev/8dcc5e960d5c
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100930 Firefox/4.0b7pre ID:20100930171733
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=edf05b298094&tochange=8dcc5e960d5c
Candidate bug:
Bug 546514 and/or Bug 597950
(In reply to comment #2)
> Regression Window(with user_pref("layers.use-d3d10", true);)
> Works;
> http://hg.mozilla.org/mozilla-central/rev/edf05b298094
> Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100930
> Firefox/4.0b7pre ID:20100930135722
> Fails:
> http://hg.mozilla.org/mozilla-central/rev/8dcc5e960d5c
> Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100930
> Firefox/4.0b7pre ID:20100930171733
> Pushlog:
> http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=edf05b298094&tochange=8dcc5e960d5c
> Candidate bug:
> Bug 546514 and/or Bug 597950

As I feared then, that push is adding D3D10 layers to the tree (before then the pref would have done nothing), so it seems this has always been present for your hardware in D3D10 layers. I'm not sure yet I have a good idea of why it hickups. Do other, simpler animations also have 'hiccup' behavior? (i.e. just a couple of fish or other animated canvas demos)
(In reply to comment #1)
> That regression window is just enabling D3D10 so is not related to the actual
> problem :(. There's a good chance this has always been in D3D10 layers, fwiw I
> cannot reproduce this on a GT230M or an HD 5800 series. We'll need to find a
> system that can reproduce this to track it down.

Hardware:
OS: Windows 7 Home Premium 64bit
CPU : Core2Quad Q8300 @2.5GHz
MEMEMORY: 4GB
Actual Graphic Carrd : HD4350
(In reply to comment #3)
> Do other, simpler animations also have 'hiccup' behavior? (i.e. just a
> couple of fish or other animated canvas demos)

No problem on the following demo:
http://webglsamples.googlecode.com/hg/aquarium/aquarium.html with 1000fishes
http://webglsamples.googlecode.com/hg/blob/blob.html with 1000blobs/32^3
http://webglsamples.googlecode.com/hg/electricflower/electricflower.html
http://webglsamples.googlecode.com/hg/field/field.html with lots of grass
http://webglsamples.googlecode.com/hg/fishtank/fishtank.html with 1000fishes
http://webglsamples.googlecode.com/hg/spacerocks/spacerocks.html with lots meteors

The problem appears with more than 250 fishes:
http://ie.microsoft.com/testdrive/Performance/FishIETank/

I do not try it in the other sites.
(In reply to comment #5)
> (In reply to comment #3)
> > Do other, simpler animations also have 'hiccup' behavior? (i.e. just a
> > couple of fish or other animated canvas demos)
> 
> No problem on the following demo:
> http://webglsamples.googlecode.com/hg/aquarium/aquarium.html with 1000fishes
> http://webglsamples.googlecode.com/hg/blob/blob.html with 1000blobs/32^3
> http://webglsamples.googlecode.com/hg/electricflower/electricflower.html
> http://webglsamples.googlecode.com/hg/field/field.html with lots of grass
> http://webglsamples.googlecode.com/hg/fishtank/fishtank.html with 1000fishes
> http://webglsamples.googlecode.com/hg/spacerocks/spacerocks.html with lots
> meteors
> 
> The problem appears with more than 250 fishes:
> http://ie.microsoft.com/testdrive/Performance/FishIETank/
> 
> I do not try it in the other sites.

Could you try another 2D canvas demo? WebGL uses a different rendering method for the animation itsself. (even though in theory it should still be bound by D3D10 layer performance)
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #3)
> > > Do other, simpler animations also have 'hiccup' behavior? (i.e. just a
> > > couple of fish or other animated canvas demos)
> > 
> > No problem on the following demo:
> > http://webglsamples.googlecode.com/hg/aquarium/aquarium.html with 1000fishes
> > http://webglsamples.googlecode.com/hg/blob/blob.html with 1000blobs/32^3
> > http://webglsamples.googlecode.com/hg/electricflower/electricflower.html
> > http://webglsamples.googlecode.com/hg/field/field.html with lots of grass
> > http://webglsamples.googlecode.com/hg/fishtank/fishtank.html with 1000fishes
> > http://webglsamples.googlecode.com/hg/spacerocks/spacerocks.html with lots
> > meteors
> > 
> > The problem appears with more than 250 fishes:
> > http://ie.microsoft.com/testdrive/Performance/FishIETank/
> > 
> > I do not try it in the other sites.
> 
> Could you try another 2D canvas demo? WebGL uses a different rendering method
> for the animation itsself. (even though in theory it should still be bound by
> D3D10 layer performance)
Sorry, Could you please  show URLs of demo?
(In reply to comment #7)
> (In reply to comment #6)
> > Could you try another 2D canvas demo? WebGL uses a different rendering method
> > for the animation itsself. (even though in theory it should still be bound by
> > D3D10 layer performance)
> Sorry, Could you please  show URLs of demo?

Ofcourse! Try:

http://demos.hacks.mozilla.org/openweb/HWACCEL/
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > Could you try another 2D canvas demo? WebGL uses a different rendering method
> > > for the animation itsself. (even though in theory it should still be bound by
> > > D3D10 layer performance)
> > Sorry, Could you please  show URLs of demo?
> 
> Ofcourse! Try:
> 
> http://demos.hacks.mozilla.org/openweb/HWACCEL/

Thanks.
It seems no problem(smoothly play backed).
Could you check if IE9 does not have this problem with FishIE?
(In reply to comment #10)
> Could you check if IE9 does not have this problem with FishIE?
Just now installed and try FishIE 250-1000.
No problem on IE9Beta 9.0.7930.16406
Hrm, this is strange. I can't think of anything that would happen every couple of seconds just with D3D10 layers. Particularly if other demos work fine!
This Strange!!
If I open "About Minefield" dialog  and *overlap* with the main browser, The problem is reduced or seems to disappear(Minefield play back like IE9 Beta).
This happens with "About Minefield" dialog only.
Other Application window and other dialog do not help.
blocking2.0: --- → ?
That sounds like some very strange interaction, I have absolutely no ideas.
Because it seems limited to FishIE, I'm reluctantly going to say this doesn't block.
blocking2.0: ? → -
Whiteboard: ietestdrive
Win 7 with D3D10 + D2D
I get 25~28 fps with 1000 fishes

Chrome has the same performance and IE10 is 2~3 fps faster
no longer reproduce the skip problem on Nightly50.0a1 with/without e10s
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.