Closed Bug 1397538 Opened 8 years ago Closed 6 years ago

Video render start slows down over time

Categories

(Core :: WebRTC, defect, P3)

49 Branch
defect

Tracking

()

RESOLVED INVALID

People

(Reporter: drno, Unassigned)

Details

Attachments

(1 file)

- Open http://mozilla.github.io/webrtc-landing/pc_test.html - Click "Start" and give access to cam and mic - Notice how quickly the video elements for the remote video start to render the video Now repeat about 20-30 times: - Click "Stop" - Click "Start" again - Allow access to cam and mic (I haven't tried to give permanent permissions) After the 30 times compare how long it starts for the big video elements to start rendering (ignore the smaller preview windows). Something appears to slow down the initial rendering significantly. The page create new PeerConnections every time "Start" get clicked. So it's probably not a PeerConnection related problem, but more something around how the video element interacts with the web renderer or so. Just filling for here now as it's a WebRTC call which triggers the problem.
I was able to repro this all the way back to ESR52.
As I'm experiencing this on a Mac I tried to look at it with Instruments. This is a screen shot of the call stack which appears to take a long time roughly from the time after accepting the cam/mix access prompt to when video rendering actually starts. Is it normal that so much rendering is actually happening inside the callback function from CoreFoundation?
Rank: 15
Milan, who would be the right person on gfx side to help investigating this? See the attachment - looks like VSync/RefreshDriver...
Flags: needinfo?(milan)
I actually wrote a test case for this here https://nils-ohlmeier.github.io/webrtc-landing/pc_test_loop.html But I'm no longer able to repro. Maybe some state accumulation yesterday slowed down things...
Rank: 15 → 25
Priority: P1 → P2
Mason, can you take a look?
Flags: needinfo?(milan) → needinfo?(mchang)
I'm unable to reproduce this. (In reply to Randell Jesup [:jesup] from comment #3) > Milan, who would be the right person on gfx side to help investigating this? > See the attachment - looks like VSync/RefreshDriver... This is just at the top of every call stack because that's where we begin to render. We need a call stack at the bottom. (In reply to Nils Ohlmeier [:drno] from comment #4) > I actually wrote a test case for this here > https://nils-ohlmeier.github.io/webrtc-landing/pc_test_loop.html > > But I'm no longer able to repro. Maybe some state accumulation yesterday > slowed down things... I can't reproduce this at all. If you can again, can you get a call stack that's all the way at the bottom?
Flags: needinfo?(mchang) → needinfo?(drno)
Mass change P2->P3 to align with new Mozilla triage process.
Priority: P2 → P3
Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(drno)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: