Bug 211852

Summary: Media Source Extensions + WebGL video texture degraded playback performance
Product: WebKit Reporter: Dustin Kerstein <dustin.kerstein>
Component: MediaAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Major CC: dino, dustin.kerstein, eric.carlson, jer.noble, justin_fan, kkinnunen, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 13   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 223918    

Description Dustin Kerstein 2020-05-13 11:14:32 PDT
It appears that the issue noted in https://bugs.webkit.org/show_bug.cgi?id=211750 is significantly worse when using Media Source Extensions for video playback. Here are two near-identical demos:

   JSFiddle with MSE - https://jsfiddle.net/yj9vpfkr
   JSFiddle with blob as video source - https://jsfiddle.net/knL126st

*Note* that as these JSFiddles use iFrames, you'll need to click into the result iFrame to get Safari to avoid using its low power mode (meant for ads) which limits rendering to 30fps.

Test results - JSFiddle with MSE:

   2011 Macbook Pro - Playback starts to freeze at playbackRate = 0.02 and also causes the render loop to stop running (and the whole tab freezes)
   First generation iPad Pro - Playback starts to freeze at playbackRate = 0.10

Test results - JSFiddle with blob as video source:

   2011 Macbook Pro - Playback starts to freeze at playbackRate = 0.80
   First generation iPad Pro - Playback starts to freeze at playbackRate = 2.00

Note that with blob as video source you'll eventually run into https://bugs.webkit.org/show_bug.cgi?id=211750, but regardless, the maximum playbackRate with MSE is significantly worse.

Also note that these JSFiddles are specifically using Long GOP test video files to avoid this XPC messages issue - https://bugs.webkit.org/show_bug.cgi?id=211295
Comment 1 Radar WebKit Bug Importer 2020-05-13 16:25:17 PDT
<rdar://problem/63205446>