Edge Chromium Video Acceleration Is Not As Good As EdgeHTML and Internet Explorer 11

Brass Contributor

In Edge Chromium Dev v74.1.96.24 I noticed that 1080p 60fps h.264/avc videos had framedrops that would not happen when playing those videos in Edge HTML or Internet Explorer 11. I did make sure that the codec is set to h.264/avc and that the video acceleration is on.

-These examples were from this video: https://www.youtube.com/watch?v=GeSR7pFSob4

-I tried it in both D3D9 and D3D11

Edge Chromium Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled WindowedEdge Chromium Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled WindowedEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled WindowedEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled Windowed

-There were more framedrops when the videos were in fullscreen

Edge Chromium Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled FullscreenEdge Chromium Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled FullscreenEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled FullscreenEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled Fullscreen

-The frames dropped a lot more with SurfaceLayer Objects for Videos enabled

Edge Chromium Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedEdge Chromium Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedEdge Chromium Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled FullscreenEdge Chromium Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled FullscreenEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled FullscreenEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled Fullscreen

-I tried the same settings with Chrome Dev v75.0.3579.4 which gave similar results

Chrome Dev Version 75.0.3759.4Chrome Dev Version 75.0.3759.4Chrome Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled WindowedChrome Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled WindowedChrome Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled FullscreenChrome Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled FullscreenChrome Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedChrome Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedChrome Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled FullscreenChrome Dev D3D9 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled FullscreenChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled WindowedChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled WindowedChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled FullscreenChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Disabled FullscreenChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled FullscreenChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled Fullscreen

-These are best case scenarios were the cursor is not moved which with that or a banner ad showing up, or a notification appearing would cause more framedrops

- With Edge HTML or Internet Explorer 11 there no framedrops even with moving the cursor

EdgeHTML Video Acceleratioin WindowedEdgeHTML Video Acceleratioin WindowedEdgeHTML Video Acceleration FullscreenEdgeHTML Video Acceleration FullscreenInternet Explorer 11 Video Acceleration WindowedInternet Explorer 11 Video Acceleration WindowedInternet Explorer 11 Video Acceleration FullscreenInternet Explorer 11 Video Acceleration Fullscreen

I noticed those issues when Youtube introduced hfr videos in 2015 and saw that there were framedrops in chrome when it did not happen with Internet Explorer 11 which is why I used that until Windows 10 and moved to EdgeHTML. I'm hoping that bringing this up early in the Edge Chromium devleopment would help to have optmizations happen sooner than later.

 

 

14 Replies

@382iou Here are a couple of more photos for system context.

GPU Video Acceleration CapabilitiesGPU Video Acceleration CapabilitiesMedia Internals Video Acceleration LogMedia Internals Video Acceleration Log

The highest my GPU can decode is 1920*1080p 60fps h.264/AVC. Could it be the browser's Mojo Video Decoder?

as far as im aware this is an AMD driver issue with video processing

@382iou 

Well done on the write up! For me the Video Acceleration performance is also no where near as fluid / not working properly compared to EdgeHTML.

 

The performance difference is quite serious and might not be evident on higher end dev machines so it might be of benefit if a guru at the MS performance team kindly manages to compare EdgeHTML with EdgeChromium on lower tier and switchable laptop devices.

 

For me it even seems like EdgeChromium is falling back to software video decoding. (no matter the flag settings).

 

Chrome behaves the same way for me and I hope MS will be able to get around to improving the acceleration aspects in the future. They did mention working on ANGLE in one of the blog posts.

 

Laptop (iGPU: Intel HD 3000, dGPU: ATI 6xxx m) dGPU doesn't get used at all and iGPU doesn't seem to be accelerating video and the general feel is slow.

 

EdgeChromium also feels rather sluggish on the Surface 5 Pro i5 compared to EdgeHTML.

 

Hi @382iou, thank you for this detailed write up.  I will make sure that it gets to the right folks on the Edge team.

@382iou Thanks for reporting this issue with all the details. We have gone ahead and filed a bug and will start investigating it soon.

@Deleted @GurpreetV  I did see in edge://gpu under Driver Bug Workarounds and Problems Detected that it disabled both dxgi_zero_copy_video and nv12_dxgi_video because of AMD drivers, but that dosen't explain how that is not an issue for either Internet Explorer 11 or EdgeHTML.Edge Chromium Dev Version 75.0.131.0 64bit GPU Drive Bug Workarounds and Problems DetectedEdge Chromium Dev Version 75.0.131.0 64bit GPU Drive Bug Workarounds and Problems Detected

@VonCrisp @GurpreetV The thing about ANGLE is when I disabled D3D11 Video Decoder, Media Internal would show that it was using D3D11 for DXVA.

Edge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D11, D3D11 Video Decoder DisabledEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D11, D3D11 Video Decoder Disabled

- But if I set ANGLE to D3D9, Media Internal would show D3D9 for DXVA

Edge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D9, D3D11 Video Decoder DisabledEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D9, D3D11 Video Decoder Disabled

- Though with D3D11 Video Decoder enabled, D3D9 for DXVA would show but also the error for D3D11 config

Edge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D9, D3D11 Video Decoder EnabledEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D9, D3D11 Video Decoder Enabled

- So when I did tests for D3D9 and D3D11 Video Acceleration I set the ANGLE grpahics backend to the corresponding D3D setting to make sure that was being used for DXVA

Edge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D11, D3D11 Video Decoder EnabledEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D11, D3D11 Video Decoder Enabled

- And yes, setting ANGLE to D3D9 with D3D11 Video Decoder enabled and vice versa still resulted in framedrops

Edge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D9, D3D11 Video Decoder Enabled, SurfaceLayer Objects for Videos Disabled, WindowedEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D9, D3D11 Video Decoder Enabled, SurfaceLayer Objects for Videos Disabled, WindowedEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D9, D3D11 Video Decoder Enabled, SurfaceLayer Objects for Videos Disabled, FullscreenEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D9, D3D11 Video Decoder Enabled, SurfaceLayer Objects for Videos Disabled, FullscreenEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D11. D3D11 Video Decoder Disabled, SurfaceLayer Objects for Videos Disabled, WindowedEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D11. D3D11 Video Decoder Disabled, SurfaceLayer Objects for Videos Disabled, WindowedEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D11, D3D11 Video Decoder Disabled, SurfaceLayer Objects for Videos Disabled, FullscreenEdge Chromium Dev Version 75.0.131.0 64bit, ANGLE D3D11, D3D11 Video Decoder Disabled, SurfaceLayer Objects for Videos Disabled, Fullscreen

@382iou 

 

Honestly the whole hardware acceleration of Chrome/Chromium has been a bit of a mess for me and like you stated is totally tangled up and generally feels much slower than EdgeHTML.

 

Essentially this is why I always referred back to EdgeHTML on slower hardware.

 

Have there been any updates concerning this acceleration situation? Do you know if MS is looking at this?

I think since the last post on this thread is more than 6 months old and Edge insider gets a new feature and improvement every day, he should test that again.
I'm using Intel IGPU 630 inside Core i7 7700K,
Edge insider Canary takes full advantage of my GPU when watching videos. I tested it on YouTube with 8K 60 FPS videos and I have no frame drop at all, meanwhile my CPU usage was 50% and GPU usage was 80-90%,
Windows 10 and Graphic drivers latest versions.

@382iou 

It's similar with Edge Chromium Dev v.79.0308.1 64 bit

I'm using a different video because the other one is unavailable https://www.youtube.com/watch?v=vigX3H7WX5Q 

  • I've been using these flags
    Spoiler
    Edge Chromium Dev v.79.0.308.1 64 bit FlagsEdge Chromium Dev v.79.0.308.1 64 bit FlagsECD-Flags(2).pngECD-Flags(3).pngECD-Flags(4).pngEdge Chromium Dev v.79.0.308.1 64 bit Graphics Feature StatusEdge Chromium Dev v.79.0.308.1 64 bit Graphics Feature Status
    Spoiler
    Edge Chromium Dev v.79.308.1 64 bit Windowed Plugged In ModeEdge Chromium Dev v.79.308.1 64 bit Windowed Plugged In ModeEdge Chromium Dev v.79.308.1 64 bit Fullscreen Plugged In ModeEdge Chromium Dev v.79.308.1 64 bit Fullscreen Plugged In Mode
  • Video UI still causes larger frame drops
    Spoiler
    Edge Chromium Dev v.79.0.308.1 64 bit Windowed Plugged In Mode w/Video UIEdge Chromium Dev v.79.0.308.1 64 bit Windowed Plugged In Mode w/Video UI

  • There are some improvements with Edge Chromium Canary v.80.0.317.1 64 bit although performance issues with Video UI is the same
    Spoiler
    Edge Chromium Canary v.80.0.317.1 64 bit FlagsEdge Chromium Canary v.80.0.317.1 64 bit FlagsECC-Flags(2).png

    ECC-Flags(3).pngECC-Flags(4).pngEdge Chromium Canary v.80.317.1 64 bit Graphics Feature StatusEdge Chromium Canary v.80.317.1 64 bit Graphics Feature Status
    Spoiler
    Edge Chromium Canary v.80.0317.1 64 bit Windowed Plugged In ModeEdge Chromium Canary v.80.0317.1 64 bit Windowed Plugged In ModeEdge Chromium Canary v.80.0.317.1 64 bit Fullscreen Plugged In ModeEdge Chromium Canary v.80.0.317.1 64 bit Fullscreen Plugged In ModeEdge Chromium Canary v.80.0317.1 64 bit Windowed Plugged In Mode w/Video UIEdge Chromium Canary v.80.0317.1 64 bit Windowed Plugged In Mode w/Video UI
  • When in Battery Mode Edge Chromium has severe performance drops even though the laptop is set to maximize performance in both plugged in mode and battery mode
    Spoiler
    Edge Chromium Dev v.79.0.308.1 64 bit Windowed Battery Power ModeEdge Chromium Dev v.79.0.308.1 64 bit Windowed Battery Power ModeEdge Chromium Dev 79.0.308.1 64 bit Fullscreen Battery Power ModeEdge Chromium Dev 79.0.308.1 64 bit Fullscreen Battery Power ModeEdge Chromium Canary v.80.317.1 64 bit Windowed Battery Powered ModeEdge Chromium Canary v.80.317.1 64 bit Windowed Battery Powered ModeEdge Chromium Canary v.80.0.317.1 64 bit Fullscreen Battery Power ModeEdge Chromium Canary v.80.0.317.1 64 bit Fullscreen Battery Power Mode  
  • Though with Chrome Dev v.79.0.3945.8 64 bit there are still hitches but far less frame drops when using the same flags and extensions, and battery mode did not have the severe performance drops like in Edge Chromium
    Spoiler
    Chrome Dev v.79.3945.8 64 bit FlagsChrome Dev v.79.3945.8 64 bit FlagsCD-Flags(2).pngCD-Flags(3).pngCD-Flags(4).pngChrome Dev v.79.0.3945.8 64 bit Graphics Feature StatusChrome Dev v.79.0.3945.8 64 bit Graphics Feature Status
    Spoiler
    Chrome Dev v.79.0.3945.8 64 bit Windowed Plugged InChrome Dev v.79.0.3945.8 64 bit Windowed Plugged InChrome Dev v.79.0.3945.8 64 bit Fullscreen Plugged InChrome Dev v.79.0.3945.8 64 bit Fullscreen Plugged InChrome Dev v.79.0.3945.8 64 bit Windowed Battery Power ModeChrome Dev v.79.0.3945.8 64 bit Windowed Battery Power ModeChrome Dev v.79.0.3945.8 64 bit Fullscreen Battery Power ModeChrome Dev v.79.0.3945.8 64 bit Fullscreen Battery Power ModeChrome Dev v.79.0.3945.8 64 bit Windowed Batter Power Mode w/Video UIChrome Dev v.79.0.3945.8 64 bit Windowed Batter Power Mode w/Video UI

     

  • Edge HTML and Internet Explorer 11 didn't drop a frame even when moving the cursor and quickly scrolling the up and down in battery mode

    Spoiler
    Edge HTML Windowed Battery Power Mode w/Video UIEdge HTML Windowed Battery Power Mode w/Video UIInternet Explorer 11 Windowed Battery Power w/Video UIInternet Explorer 11 Windowed Battery Power w/Video UI  

    Hopefully whatever optimizations that are in Chrome Dev make it to Edge Chromium.

I have an Intel N5000 with UHD Graphics 605. I compared graphics usage between edge and chrome and noticed some video streams in chromium (edge or chrome variant) don't even utilize the video decode and just a little bit of other graphics resources but not enough for smooth playback. EdgeHTML uses far better use of graphics resources including the video decode specifically and it guarantees smooth playback.

 

I only came back to this issue because there have been more streams on twitch.tv lately that my CPU just cannot handle in chrome. I had to revert Edge back to EdgeHTML and was able to get back smooth playback for these twitch streams. I can even run streams in both browsers simulateously and the EdgeHTML stream is still smooth. Flags in chrome do not help, latest intel graphics driver installed. The video engine in chromium is just bad. This is exactly why I disliked it back when Microsoft said they were switching to chromium. I knew they were going to sacrifice the good things about EdgeHTML rather than just making EdgeHTML better.

 

edit: I can see that the majority of twitch streams activate the video decode on my UHD 605 graphics. It just so happens the one stream that I watch the most (LCK) doesn't activate it and I don't know why it doesn't on chromium but does in EdgeHTML.

Hopefully someone from the dev team is working on getting the rendering /decode on par with EdgeHTML.

On “high end” systems these performance issues are hardly noticeable.

On low end systems it basically is a night and day difference.

The performance benefits would translate well across the board and make the browser more snappy.

There was one instance where it appeared Chrome and Firefox were doing a video stream better. This was tested on a system with a GTX 1070 and i7 processor, so video "should" be fine in any browser on this system. It was specifically with a video steam on hbo now, and I only tested the movie Fantastic Beasts 2. The video in EdgeHTML stuttered more than in chrome or firefox. 

 

Also strange is that I couldn't get that LCK twitch stream to activate video decode on my GTX 1070, even in the EdgeHTML browser. It does activate the video decode on my laptop with Intel UHD 605, but on my desktop with the Nvidia card, I couldn't get the LCK twitch stream to activate video decode on any browser.

 

I've always felt a bit of unease with video playback in browsers. I only really fully trust offline content played in video players like VLC. No one ever seems to get it quite right with browsers, as there's always something wrong. So I keep multiple browsers installed and use the one that works depending on which website I use.

Most of my video contents that I use are through browsers and I set my Intel IGPU to handle the browser video accelerations and I have never had any problems with videos. be it on Youtube 4K 60FPS, Twitch, direct link to a video file etc. latest Windows 10, latest Intel graphic drivers.
Core i7, DDR4 16GB RAM (at least)