Slow video Textures on Firefox?

I had been noticing the last couple of days that what had previously been very smooth operating 360 video scenes were suddenly very choppy. I went from flat 60fps to 15fps.

This was on a system with the following specs:

OS: Windows 10 Pro
CPU: AMD Ryzen 9 3900X
GPU: Nvidia RTX 2070 SUPER
RAM: 32GB
VRAM: 8GB
Resolution at Fullscreen: 1920x1080

Thinking I might have broken something I tried the same scene on a small Dell Laptop I had available to me with the following spec:

OS: Windows 10 Pro
CPU: Intel i7-8565U
GPU: Intel UHD Graphics 620
RAM: 8GB
VRAM: 0GB
Resolution at Fullscreen: 1920x1200

Somehow the laptop ran perfectly at 60fps. After tinkering to no avail, I remembered the laptop used Chrome and tried it on the desktop. Performance once again normalized at 60fps and when trying Firefox on the Laptop it went from 16.7ms per frame up to 88ms per frame.

What’s strange is that these scenes used to work flawlessly in Firefox as well as Chrome, so I’m confused about what might have happened.

Here is a screengrab of my performance tracking from the Firefox browser on the desktop:

It looks like the CPU is eating it when copying the video to the texture. Any ideas why this would start happening so suddenly and only on Firefox? I’m worried because I have a 360 video heavy project coming up, and while most users use Chrome, I don’t want to have a noticeably worse experience for Firefox users either.

The effect isn’t as drastic, but you can see the difference on the 360 video tutorial project as well:

https://playcanvas.com/editor/scene/471739

Running on Firefox Version 88.0

We haven’t done any recent engine releases. Has Firefox updated in the background?

The last update to Firefox was Version 88.0 on April 19, 2021, right around the time I picked up the video textures again. I wonder what changes they might have made that made performance so notably worse…

Could be related to that other thread about poor framerates as well?

Worth trying an older version to be sure? https://support.mozilla.org/en-US/kb/install-older-version-firefox#w_i-still-want-to-downgrade-where-can-i-get-the-previous-version

Can confirm it’s a Firefox update issue. I had to keep trying versions until I found one that worked properly.

Version 85.0.2 (64-bit) was the last version of Firefox that was able to output 60fps on video texture writing.

1 Like

!!!

Update:

Turns out this is indeed a Firefox issue, but following the bugs list on Bugzilla revealed something:

Changing this code:

    texture = new pc.Texture(app.graphicsDevice, {
        format: pc.PIXELFORMAT_R8_G8_B8,
        autoMipmap: false
    });

to:

    texture = new pc.Texture(app.graphicsDevice, {
        format: pc.PIXELFORMAT_R8_G8_B8_A8,
        autoMipmap: false
    });

restored the texture writing performance.

Perhaps an update to this tutorial:

https://playcanvas.com/project/434444/overview/webxr-360-video

should be considered?

2 Likes

That’s interesting, I’m due to look at the video texture tutorial so will include this.

Thanks for getting to the bottom of this!

1 Like