Forum Discussion

382iou's avatar
382iou
Brass Contributor
Apr 17, 2019

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

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 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 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 FullscreenEdge Chromium Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedEdge 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 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 Enabled WindowedChrome 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 FullscreenChrome Dev D3D11 Video Acceleration Enabled, SurfaceLayer Objects for Videos Enabled WindowedChrome 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 Acceleration FullscreenInternet Explorer 11 Video Acceleration WindowedInternet 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's avatar
    382iou
    Brass Contributor

    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 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 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 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 Flags

      Edge 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.0.317.1 64 bit Fullscreen Plugged In ModeEdge 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 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.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.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 Fullscreen Plugged InChrome 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 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 UIInternet Explorer 11 Windowed Battery Power w/Video UI  

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

    • Brian2090's avatar
      Brian2090
      Copper Contributor

      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.

      • VonCrisp's avatar
        VonCrisp
        Iron Contributor
        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.
  • Elliot Kirk's avatar
    Elliot Kirk
    Silver Contributor

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

  • as far as im aware this is an AMD driver issue with video processing
    • 382iou's avatar
      382iou
      Brass Contributor

      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 Detected

  • 382iou's avatar
    382iou
    Brass Contributor

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

    GPU Video Acceleration CapabilitiesMedia 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?

    • GurpreetV's avatar
      GurpreetV
      Icon for Microsoft rankMicrosoft

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

    • VonCrisp's avatar
      VonCrisp
      Iron Contributor

      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.

       

      • 382iou's avatar
        382iou
        Brass Contributor

        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 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 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 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 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, 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, Fullscreen

Resources