wmode=transparent flash animation performance regression

RESOLVED INCOMPLETE

Status

()

defect
RESOLVED INCOMPLETE
9 years ago
2 years ago

People

(Reporter: hantarex, Unassigned)

Tracking

({perf})

Trunk
x86_64
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(blocking2.0 .x+)

Details

()

Attachments

(2 attachments)

User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:2.0b8pre) Gecko/20101123 Firefox-4.0/4.0b8pre
Build Identifier: Mozilla/5.0 (X11; Linux x86_64; rv:2.0b8pre) Gecko/20101123 Firefox-4.0/4.0b8pre

comparing ff4 with ff3.6 on the same box, with the exact same configuration  this website http://www.marcodilauro.com lost much performance, the flash video cover and the photo galleries are really slow.

On this website Flash window mode is set to transparent and XHTML is overlayed to it.


Reproducible: Always




ubuntu 10.10 64bit
flash 10.2 d161 64bit
nvidia 260.19.21

on Core2 Duo 2.2Ghz - NVIDIA 8600M GT 256MB
Component: General → Plug-ins
Product: Firefox → Core
QA Contact: general → plugins
Version: unspecified → Trunk
The homepage doesn't look that different to me, but I can definitely see a slowdown on http://www.marcodilauro.com/portfolio/africa/ scrolling the picture list at the right. I don't see the same performance issue on Windows, so it's likely something specific to the Linux rendering pipeline. Karl, can you have a look?
Status: UNCONFIRMED → NEW
blocking2.0: --- → betaN+
Ever confirmed: true
This might be a dupe of bug 609189.
This one at least is reproducible. That bug is useless.
(In reply to comment #1)
> but I can definitely see a
> slowdown on http://www.marcodilauro.com/portfolio/africa/ scrolling the picture
> list at the right. I don't see the same performance issue on Windows, so it's
> likely something specific to the Linux rendering pipeline. Karl, can you have a
> look?

Yes, I can reproduce that with radeon driver, thanks.

Since plugin layers on Linux, transparent plugins require much more work because we are not doing the same tricks to allow the plugin to paint directly onto the background (and Flash Player does not do alpha blending on Linux).  Doing those same tricks with async painting could be very difficult, but I'll check whether there are other things that can be done to improve the situation.
Blocks: 556487
Keywords: perf
I've upgraded flash plugin to 10.3 d162 64bit and nvidia drivers to 260.19.26.

While on FF 3.6 the homepage video playback is now faster than before and about to be smooth, with FF4 is still choppy.

Scrolling thumbnails on http://www.marcodilauro.com/portfolio or http://www.marcodilauro.com/features here shows a serious ff4 performance regression too.
blocking2.0: betaN+ → -
updated to:
Mozilla/5.0 (X11; Linux x86_64; rv:2.0b9pre) Gecko/20101224 Firefox-4.0/4.0b9pre

same sluggish performance: is this going to be fixed before going gold?
blocking2.0: - → ?
This doesn't seem to affect all wmode=transparent instances the same way.
For example, http://roosterteeth.com/archive/?sid=rvb seems to play quite tolerably.

I don't know whether the difference is a result of differences in what the plugin is doing (e.g. movie versus animation), or because there is content over the plugin, or something else.

Does the scrolling shown here involve rescaling several large images for each frame?

I'd be interested to hear of other sites that are affected similarly.

I'd also be interested to hear how much difference switching to wmode=opaque makes.
Karl, the example you are reporting plays well on FF4 here too, the difference I'm seeing is that it's not a fullpage transparent flash with an html overlay, probably it doesn't hit the bug or stresses it enough.

About the scrolling, I don't think so, the thumbs you're seeing there are loaded at a size near to their final display size and are just scaled from zero pixel to their size for a nice loading effect.

About your tip wmode=opaque on marcodilauro.com, it results in better speed for both 4 beta and 3.6, with FF 4 apparently gaining more performance than 3.6 and running subjectively on par with it.
In this specific case your tip is also applicable on production without any feature loss or visual difference, as having a transparent background isn't really needed here, thanks for having pointed at it.
At this point I don't think we're going to block on this.
blocking2.0: ? → .x
Depends on: 626602
Summary: flash performance regression → wmode=transparent flash animation performance regression
Blocks: 626206
Bug 626602 makes this site buttery smooth on my desktop.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Using 4.0b12pre (2011-02-03) I can still see the bug with wmode=transparent,
you can check it on a development copy on http://mdl.stigma.keybit.net

Think you were not seeing the bug not because it was fixed on FF, but as I've modified some other code and set wmode=opaque on production site http://www.marcodilauro.com.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I can confirm a performance regression; 3.6.15 performs better than 5, using the following video as a test case:

http://4kidstv.com/dragon-ball-z-kai/episode/goku-and-piccolos-desperate-attack/2087

This is on ARM (imx51), an older version of Ubuntu (10.04). My X server is using 16-bit color. We're using Flash 10.1, which is supplied by the silicon vendor (Freescale), and our version can dump out the FPS. In all testing, only the browser changes; the Flash binary remains unchanged.

On 3.6.15, I have:

dom.ipc.plugins.enabled=false
dom.ipc.plugins.enabled.libflashplayer.so=true

After 4 test runs, I get an average of 9.91 FPS, stddev = 2.07. My test script is simply:
  rm -rf ~/.mozilla ; firefox <test url>

On 5, I have:

dom.ipc.plugins.enabled=true

The option for libflashplayer went away in 5.

After 4 test runs, I get an average of 1.71, stddev 0.71
Based on a hint from karlt, I backported this patch to 5:

    http://hg.mozilla.org/mozilla-central/rev/9a6c139a4e58

With dom.ipc.plugins.enabled=true, mozilla.plugins.use_layers=true, it did not improve performance any.

Next, I tried changing dom.ipc.plugins.enabled and mozilla.plugins.use_layers (again, using 5):

dom.ipc.plugins.enabled=false: 5 runs, average 9.55 FPS, stddev 3.15
mozilla.plugins.use_layers=false: 5 runs, average 15.42 FPS, stddev 1.16

Of the above two variables, I considered them mutually exclusive; I only had one of them set to false at a time, for a given test run.

Based on another hint from karlt, I enabled NATIVE_DRAWING_NOTE in gfxXlibNativeRenderer to collect some data. I'll post those results shortly.
Output obtained with:

firefox <test url> 2> output.txt

This is with all default settings in about:config, so:

dom.ipc.plugins.enabled=true
mozilla.plugins.use_layers=true

With 9a6c139 applied, observed approx 1.5 FPS.
Output obtained with:

firefox <test url> 2> output.txt

dom.ipc.plugins.enabled=true
mozilla.plugins.use_layers=false

With 9a6c139 applied, observed approx 14 FPS.
Resolving old bugs which are likely not relevant any more, since NPAPI plugins are deprecated.
Status: REOPENED → RESOLVED
Closed: 9 years ago2 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.