Open Bug 1187769 Opened 9 years ago Updated 9 days ago

[meta] Full screen transition is black for too long

Categories

(Core :: General, defect)

defect

Tracking

()

People

(Reporter: ajones, Unassigned)

References

(Depends on 2 open bugs, Blocks 1 open bug)

Details

(Keywords: meta)

The amount of time spent with a black screen is excessive. Assming 60fps https://bugzilla.mozilla.org/show_bug.cgi?id=1129061#c2 specifies that the amount of black screen should be 33ms but it appears to be around 1 second.
The time of the black screen should be the time it takes from the last frame in window mode to the first frame in fullscreen mode... If we remove the black earlier, the user may see intermediate state of the window.

I hope to fix this, but probably not very easy...

Could you try setting pref "full-screen-api.transition-duration.enter" to "0 0" to disable the transition, and see whether the transition really takes such a long time?
Depends on: 1187792
No longer depends on: 1187792
Depends on: 1201798
(In reply to Xidorn Quan [:xidorn] (UTC+10) from comment #1)
> The time of the black screen should be the time it takes from the last frame
> in window mode to the first frame in fullscreen mode... If we remove the
> black earlier, the user may see intermediate state of the window.
> 
> I hope to fix this, but probably not very easy...
> 
> Could you try setting pref "full-screen-api.transition-duration.enter" to "0
> 0" to disable the transition, and see whether the transition really takes
> such a long time?

BEFORE SETTING THAT CONFIG PREF
--------------------------------
Going to Full Screen: 2-3 seconds of black screen
Leaving Full Screen: 2-3 seconds of black screen

AFTER SETTING THAT CONFIG PREF
---------------------------------
Going to fulls screen: 1/2 second pause with NO black screen, then instant pop in of fullscreen video
Leaving full screen: 2-3 of black screen

It's a bit odd that:

1. Leaving fullscreen is different than going to full screen after changing that preference AND that it still delays

2. There's still a delay going in to full screen but it's only about 1/2 a second AND there's NO black screen at all, it's just a delay of the entire screen freezing for 500 ms
Depends on: 1221659
I am running into this bug consistently on win8 44.0b7 Build ID: 20160107144911. 

STR:
1. Go to youtube.com
2. Click on "trending"
3. Select a video
4. Click play.
5. Hit fullscreen button

Expected: Video switches into fullscreen and there is no "noticeable" delay in the video playback.

Actual: Video switches into full screen mode, there is a 2 second black screen and then video resumes playing.
See updates in bug 1221659 comment 28.

As experimented by :ritu, the video becomes fullscreen immediately, but the warning popup shows after ~1s, which is probably where the issue is.

The popup is triggered by an event which should be aligned with the next refresh tick after entering fullscreen. And fading back from black is triggered by the MozAfterPaint event. And both have an async message to notice the chrome.

So I guess there is some issue with the refresh driver or the message manager. But if the refresh driver has issue, the video shouldn't enter fullscreen at all...
(In reply to Xidorn Quan [:xidorn] (UTC+10) from comment #5)
> As experimented by :ritu, the video becomes fullscreen immediately, but the
> warning popup shows after ~1s, which is probably where the issue is.

I meant, if the transition is disabled, he could see video became fullscreen immediately, but the warning popup showed ~1s later.
ritu, if you pause the video then enter fullscreen, would the black screen become short enough?
Flags: needinfo?(rkothari)
Florin, would SV be able to try playing back a video on youtube.com and go to full screen mode and back a few times on Windows platforms? I am noticing a 1-2 second delay when going from normal playback to fullscreen and back on win8. 

Could you also provide test results on Mac and Linux for the same? This will help me understand how severe this issue is. Thanks!
Flags: needinfo?(florin.mezei)
(In reply to Xidorn Quan [:xidorn] (UTC+10) from comment #7)
> ritu, if you pause the video then enter fullscreen, would the black screen
> become short enough?

Hi Xidorn, if the video is paused, the 1-2 second pause is still present. I checked that the lag was set to (20, 20) when I played the video then paused then fullscreen then esc to normal mode. In both transitions, with the video paused, there is still the perceivable 2 second delay.
Flags: needinfo?(rkothari)
Setting ni? for Andrei, so he can find someone to investigate this issue.
Flags: needinfo?(florin.mezei) → needinfo?(andrei.vaida)
I tested this on Win 7 x64, Win 8 x86, Win 8.1 x64, OS X 10.10.5, Ubuntu 14.04 x64 on FF 44b8, 46.0a1 (2016-01-12).
I don't see a noticeable delay on any platform, when switching/exiting fullscreen (less than a second I would say) - "full-screen-api.transition-duration.enter" was set to 200 200 by default.
If I set "full-screen-api.transition-duration.enter"=0 0, there is no black screen and the fullscreen pop-up appears right after the video entered fullscreen.
Flags: needinfo?(andrei.vaida)
(In reply to Paul Silaghi, QA [:pauly] from comment #11)
> I tested this on Win 7 x64, Win 8 x86, Win 8.1 x64, OS X 10.10.5, Ubuntu
> 14.04 x64 on FF 44b8, 46.0a1 (2016-01-12).
> I don't see a noticeable delay on any platform, when switching/exiting
> fullscreen (less than a second I would say) -
> "full-screen-api.transition-duration.enter" was set to 200 200 by default.
> If I set "full-screen-api.transition-duration.enter"=0 0, there is no black
> screen and the fullscreen pop-up appears right after the video entered
> fullscreen.

Based on SV's testing, this issue of video playback from normal to fullscreen delay does not seem so severe. It's to know this is not a release blocking scenario.
It seems this really affects some of the users and part of those users could experience an even worse problem. Unfortunately I'm not one of them, so I have no idea what's actually going on there :/

:ritu, does this issue persist if you open Firefox with a clean profile?
Flags: needinfo?(rkothari)
Ritu, could you download the try build from comment 14, and use that build to try to reproduce this issue, then send the logs to me?

On Windows, please do this:
1. extract the build pack, and open a command prompt on that directory
3. execute `set NSPR_LOG_MODULES=timestamp,Fullscreen:5`
4. execute `NSPR_LOG_FILE=C:\fullscreen.log`
5. run `firefox` with some profile
6. open a Non-e10s window and try reproducing there then exit
7. send fullscreen.log and fullscreen.log.browser to my email
I only tried non-e10s but I get this in fullscreen.log.browser

1452829079244	Fullscreen	DEBUG	browser: handle event MozDOMFullscreen:Entered
1452829079255	Fullscreen	DEBUG	tab: handle event MozDOMFullscreen:Entered
1452829079258	Fullscreen	DEBUG	browser: handle event fullscreen
1452829080443	Fullscreen	DEBUG	tab: handle event MozDOMFullscreen:NewOrigin
1452829080602	Fullscreen	DEBUG	tab: handle event MozAfterPaint
1452829080886	Fullscreen	DEBUG	browser: receive message DOMFullscreen:NewOrigin
1452829081591	Fullscreen	DEBUG	browser: receive message DOMFullscreen:Painted
1452829085723	Fullscreen	DEBUG	browser: handle event MozDOMFullscreen:Exited
1452829085902	Fullscreen	DEBUG	tab: handle event MozDOMFullscreen:Exited
1452829085904	Fullscreen	DEBUG	browser: handle event fullscreen
1452829086600	Fullscreen	DEBUG	tab: handle event MozAfterPaint
1452829086604	Fullscreen	DEBUG	tab: receive message DOMFullscreen:CleanUp
1452829086607	Fullscreen	DEBUG	browser: receive message DOMFullscreen:Exit
1452829086811	Fullscreen	DEBUG	browser: receive message DOMFullscreen:Painted
Depends on: 1240978
Now that Bug 1240978 is fixed, testing different full-screen-api.transition.timeout values on different setups might be useful.
Depends on: 1267530
Depends on: 1267568
Let's convert it to a meta bug to track speed optimization on fullscreen transition.
Keywords: meta
Summary: Full screen transition is black for too long → [meta] Full screen transition is black for too long
Depends on: 1268335
Depends on: 1271160
Depends on: 1282334
Related: Bug 1222776
Severity: normal → S3
Depends on: 1845733
You need to log in before you can comment on or make changes to this bug.