Closed Bug 702485 Opened 13 years ago Closed 2 years ago

[d2d] Windowed Flash Video drops frames (Youtube)

Categories

(Core :: Graphics, defect)

15 Branch
x86_64
Windows 7
defect
Not set
major

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: nvidiadx, Unassigned)

References

Details

(Keywords: perf, Whiteboard: [Snappy:p3] [platform-rel-Youtube])

See Video recordings

D2D enabled:

http://www.mediafire.com/?3adlcmt0ymncjdv

D2D disabled:

http://www.mediafire.com/?c4f79tb0yinxnvd

Chromeium 17 GPU Composition enabled:

http://www.mediafire.com/?vn0pv8np0i0uejd
Cannot confirm this issue:
GPU: NVIDIA GT 540M/Driver Version: 285.62/Flash Plugin Version: 11.1.102.55
Video hold on 30 fps all the time with and without D2D.
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:11.0a1) Gecko/20111117 Firefox/11.0a1
The issue can also bee seen with running javascript code or several tabs alongside

http://osmf.org/dev/latest/debug.html?src=rtmp://cp67126.edgefcs.net/ondemand/mp4:mediapm/osmf/content/test/sample1_700kbps.f4v&logFilter=videoClasses&enableStageVideo=true

it shows drops even @ low resolutions where Chrome stays very stable even in very high demanding scenarios with my Intel Sandy Bridge IGP (GT1) on Aero :(
Severity: normal → major
Keywords: perf
Why is this still unconfirmed?
Heck, you can just sit back and watch a video without touching anything on the page and it will drop ~7 frames.
Version: 11 Branch → 12 Branch
Sounds like a graphics issue.

CruNcher, can you go to "about:support" and copy the information from the "Graphics" section and provide here.
Component: General → Graphics
QA Contact: general → thebes
Adapter Description
Intel(R) HD Graphics Family
Vendor ID: 0x8086
Device ID: 0x0102
Adapter RAM: Unknown 
Adapter Drivers: igdumd64 igd10umd64 igd10umd64 igdumdx32 igd10umd32 igd10umd32
Driver Version: 8.15.10.2559
Driver Date: 10-21-2011
Direct2D Enabled: true
DirectWrite Enabled: true (6.1.7601.17563)
ClearType Parameters: ClearType parameters not found
WebGL Renderer: Google Inc. -- ANGLE (Intel(R) HD Graphics Family) -- OpenGL ES 2.0 (ANGLE 1.0.0.930)
GPU Accelerated Windows: 1/1 Direct3D 10
AzureBackend: direct2d
Though im not sure if anything can fix that even not sure if improving direct2d could as it seems the frame dropping is more a multithread issue and Chrome being encapsulated has no problems with this simultaneous interaction keeping both browser and Video Playback stable without dropping any frames.
So in the end most probably only something like Electrolysis would be a solution for this case here.
Enabling thebes rendering fixes it :)
Depends on: 715768
No longer depends on: 715768
Sorry i thought it did improve but nope either that or only on that 1 execution but rechecking showed no improvement so sorry :(
Version: 12 Branch → 14 Branch
Still a problem
(In reply to CruNcher from comment #9)
> Sorry i thought it did improve but nope either that or only on that 1
> execution but rechecking showed no improvement so sorry :(

So does turning off D2D help, or not?
yep turning of Direct2D and leave most work to layers Direct3D 9 is the only solution yet to get better overall response and since 5th or 6th April Build the response got even much better overall :)
though still not as stable as from the Chromium 17 GPU composition results shown in this testcase
Erm, if this is windowed, it confuses me a little, it's not clear to me how Direct2D could influence the video as Direct2D is not touched when compositing windowed plugins. It could be some odd GPU business issue or something? I'm not sure what Chrome does with windowed plugins.
also i modified a restartless addon to compensate the cpu load in the addons manager without having to turn on Direct2D so the load goes to the Layers Direct3D 9 without rounded corners @ scrolling this also lowers latency a lot not perfect but much more acceptable.
Though Performance of the Direct2D implementation (either Azure or Azure with thebes) in most cases is to low (it's only efficient for most tech demos but for normal browsing experience it fails though enabling it overall impacts both even with canvas only enabled and content disabled which is surprising somehow) for Intel HD 2000 and i guess it would be better to turn it off (blacklist it for now)

If someone is interested in this restartless modification of the addon manager based on Sidharta Dugars Cleanest Mod Manager and Sean Newman his userstyle (non rounded corners) you can find it here http://www.mediafire.com/?htweksiux9cccct it's very convenient also for testing as the response is immediately visible :)
(In reply to Bas Schouten (:bas) from comment #14)
> Erm, if this is windowed, it confuses me a little, it's not clear to me how
> Direct2D could influence the video as Direct2D is not touched when
> compositing windowed plugins. It could be some odd GPU business issue or
> something? I'm not sure what Chrome does with windowed plugins.

bas im pretty sure they optimized for this especial use case to keep frame drops away and whatever the magic here is it works beautiful even on that integrated GPU :)
(In reply to CruNcher from comment #16)
> (In reply to Bas Schouten (:bas) from comment #14)
> > Erm, if this is windowed, it confuses me a little, it's not clear to me how
> > Direct2D could influence the video as Direct2D is not touched when
> > compositing windowed plugins. It could be some odd GPU business issue or
> > something? I'm not sure what Chrome does with windowed plugins.
> 
> bas im pretty sure they optimized for this especial use case to keep frame
> drops away and whatever the magic here is it works beautiful even on that
> integrated GPU :)

What I rather meant is if they have such a thing as windowed plugins still.

And as I said, I'm still not clear how Direct2D or D3D9 layers could affect a windowed plugin, as windowed plugin composition does not involve layers.
Im not sure if layers does much in this testcase but it doesn't hurt also but Direct2D definitely hurts thus why i keep it disabled.

My current configuration that works the most efficient for me (with driver update)

Adapter DescriptionIntel(R) HD GraphicsVendor ID0x8086Device ID0x0102Adapter RAMUnknownAdapter Driversigdumd64 igd10umd64 igd10umd64 igdumd32 igd10umd32 igd10umd32Driver Version8.15.10.2696Driver Date3-19-2012Direct2D EnabledfalseDirectWrite Enabledfalse (6.1.7601.17776)ClearType ParametersClearType parameters not foundWebGL RendererGoogle Inc. -- ANGLE (Intel(R) HD Graphics) -- OpenGL ES 2.0 (ANGLE 1.0.0.963)GPU Accelerated Windows1/1 Direct3D 9

btw this happens if you copy the support information (a small feature request would be to make a copy this to clipboard button which copies it correctly formated so it can be easily cut and pasted ;) )

Adapter Description Intel(R) HD Graphics
Vendor ID0 x8086
Device ID0 x0102
Adapter RAM Unknown
Adapter Drivers igdumd64 igd10umd64 igd10umd64 igdumd32 igd10umd32 igd10umd32
Driver Version 8.15.10.2696
Driver Date 3-19-2012 
Direct2D Enabled false
DirectWrite Enabled false (6.1.7601.17776) 
ClearType Parameters ClearType parameters not found
WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics) -- OpenGL ES 2.0 (ANGLE 1.0.0.963)
GPU Accelerated Windows1/1 Direct3D 9
So how's performance for you in other windowmodes like opaque or transparent?
To be true i didn't looked into that i start looking if i see issues appearing and this issue on Youtube was imidietly falling into my eyes though it might be a bit relieve that IE9 brakes apart much heavier here in both GPU and CPU rendering :)
Though Direct2D is a general problem in performance on Firefox in many more cases on this Intel System i guess thus that the intel GPU is not so heavy powerful (just 6 EUs) shows performance issue pretty fast everywhere and here Chromium excels away heavily in my experience. I learned that rating Browser Performance is a very complex thing and Benchmarks alone are the very wrong way, thus i try to catch as many real life examples and analyze them between browser and how they react on them if i find a issue.
But Productivity wise Chromium for me personally couldn't replace Firefox yet :)
Technology wise or Browser Experience wise in daily avg joe browsing i would say it could, but i need far more complex workflows that only Firefox mighty Extensions System and all the Brains creating those can achieve yet, and thus i hope most of the times Performance gets better and it does slowly as i could realize from the 5th or 6th april build which changes showed up immediately in better overall latency in most parts :)
(In reply to CruNcher from comment #21)
> Though Direct2D is a general problem in performance on Firefox in many more
> cases on this Intel System i guess thus that the intel GPU is not so heavy
> powerful (just 6 EUs) shows performance issue pretty fast everywhere and
> here Chromium excels away heavily in my experience. I learned that rating
> Browser Performance is a very complex thing and Benchmarks alone are the
> very wrong way, thus i try to catch as many real life examples and analyze
> them between browser and how they react on them if i find a issue.

This could be true, as far as I know production chrome still only accelerates composition (like D3D9 layers), and not content drawing, (like D2D/D3D10). It isn't clear to me how well you're saying IE9 is performing on that machine? Because IE9 uses Direct2D as well for content rendering it could be a good indicator, we know that our usage of Direct2D at this point isn't as efficient as IE9s.
Bas updated :)

Chromium 20.0.1095.0 (Dev-Build 131304) GPU Composition (hooking fails)

http://www.mediafire.com/?j6la0l856ka5m6h

Chromium 20.0.1095.0 (Dev-Build 131304) CPU

http://www.mediafire.com/?88xk8kfww7h91z1

Firefox 14 2012-04-08 Direct2D D3D 10.1

http://www.mediafire.com/?qyai72wisc2fcl3

Firefox 14 2012-04-08 Layers D3D 9

http://www.mediafire.com/?dpmmhjvbodme3qi

Firefox 14 2012-04-08 CPU

http://www.mediafire.com/?i99470y2d1fkvi3

IE9 9.0.8112.16421 Direct2D D3D 10.1

http://www.mediafire.com/?dmkuj7dqlieh2x8

IE9 9.0.8112.16421 CPU

http://www.mediafire.com/?ynpz3j2p487h6ch

Opera 12.00 alpha 1359 CPU

http://www.mediafire.com/?wqyofa0v2v7yihb
Whiteboard: [Snappy]
CruNcher can you be more specific of the problem. I see you jerking your mouse around..Do frames continue dropping without browser interaction?

If you go to options/advanced/network and set "override cache management" + set cache size to 0, does the situation improve?
It would be interesting to see how this behaves with different plugin modes. For windowmode transparent we run some D2D specific stuff in order to do asynchronous readback of the background. I wonder if that's in any way related.

In windowmode windowed I'd be a little more puzzled as to why D2D would be related, but if some other component like the cache would cause stalls it's hard to say how different gfx backends could respond differently.
(In reply to Taras Glek (:taras) from comment #25)
> CruNcher can you be more specific of the problem. I see you jerking your
> mouse around..Do frames continue dropping without browser interaction?
> 
> If you go to options/advanced/network and set "override cache management" +
> set cache size to 0, does the situation improve?

Yes frames continue dropping even with CPU only Rendering (Firefox side no Direct2D no Layers) but not much and not in such fast intervals as when interacting with page objects, nope frames drop without cache too i test with the default but my own personal settings have no cache enabled and their frames drop too but i use in my personal settings a lot of extensions and some of them also seem to cause these instabilities as well (so it most probably has something todo with Javascripts somehow also). 
I tried also with the Defaults and Cache disabled like in my own settings but it doesn't get better in anyways.
Though the heaviest drops coming from Direct2D on Interaction even things like playing the Fullscreen animation will provoke heavy drops then (urlbar sliding out) where when using CPU rendering alone it won't but drops will occur if you fast trigger the sliding out in out in out their also (but that's not really a case to expect rather crazy) ;)
And as you can see Direct2D wise also IE9 brakes apart here
I analyzed now different situations when frame get drooped and this is not easy @ all, as many things seem to play into this and finding the causes of these drops especialy inside addons is Hard as the cyclecollect seems also to play into this as well as the generic way of what these addons are doing especialy when tabs are preloaded even without content they seem to trigger all kind of stuff that can cause issues in this case :(
Though this is a entirely different thing and has nothing todo with the Drops in D2D with the default profile :)
This also becomes problematic if youtubes video preview applet on the right can't reach the server s.ytimg.com in time and the video is allready playing the loading of the image later can cause frame drops too seems as the IO clashes with the Plugins Progressive Streaming IO :(
Session Managers Auto Recovery Timer also clashes into it :(
Depends on: dlbi
@ Bas and Taras

https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/mwoodrow@mozilla.com-28a6e68ab2de/

Shows significant improvement :)
Some status update it seems slowly the main issue of this bug report will fix itself ;)

2 try builds now show a performance improvement in the D2D case

http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/ncameron@mozilla.com-19591f43adcf/try-win32/

so im pretty confident this problem will solve itself on the D2D matter though i found other factors as well as i said Extensions and now a 3rd party product that can influence the experience here ;)
Version: 14 Branch → 15 Branch
This was pretty clear

http://img706.imageshack.us/img706/2113/1framelosteverygcfire.png

1 frame gets dropped every gc fire
I have to correct me Nick Camerons build shows no improvement in this D2D case it's defaulted to D3D9 which i oversaw :( so still only Mark Woodrows work https://bugzilla.mozilla.org/show_bug.cgi?id=539356 does show a significant improvement here currently :)
Good news the 3rd party frame drop bug was fixed ;) get Internet Download Manager 6.11 build 7 the IDM extension 7.3.19 shouldn't cause them anymore when the interface pops up on Flash Videos the Javascript overhead is now in normal regions again ;)
See also http://www.internetdownloadmanager.com/news.html support for Firefox 14 announcement
This will continue to be a problem until we have OMTC and can paint flash async.
Whiteboard: [Snappy] → [Snappy:p3]
Is this still an issue now that DLBI has landed?
Yes, especially when scaling is involved, i.e. http://www.laola1.tv/de-at/video/bili-tygri-liberec-koelner-haie/233464.html

No problem in Chrome with the PPAPI-Flash-plugin disabled. Smooth as butter.
platform-rel: --- → ?
Whiteboard: [Snappy:p3] → [Snappy:p3] [platform-rel-Youtube]
platform-rel: ? → ---
QA Whiteboard: qa-not-actionable

Flash is no longer supported

Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.