HEVC/X265 - 100% cpu load (2 Viewers)

BigAlb

Portal Member
October 31, 2014
15
2
Home Country
Italy Italy
I tried Graph Studio Next: same as MPC-HC, low cpu load and no stuttering.

Actually I tried something more: I used HWInfo, that is capable of logging cpu and gpu load and export everything in csv format.
Well, during the playback of the Ultra HD sample file (MPC-HC vs. Mediaportal):
- CPU load: 65% avg vs. 100% (tons of skipped frames);
- GPU load: 23% avg for both.
With the full HD samples, GPU load is the same too (actually around 30% avg for both mpchc and mp), while cpu load is more like 20% vs 50% avg.
 

mm1352000

Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Okay. I think I'm pretty much at the end of my suggestions.

    In the log file that you previously posted, it mostly looks like MediaPortal is using the LAV splitter and video codec as intended:
    [collapse]
    [2015-04-07 14:14:25,530] [Log ] [MPMain ] [INFO ] - VMR9: added EVR Renderer to graph
    [2015-04-07 14:14:25,530] [Log ] [MPMain ] [DEBUG] - VMR9: Now active
    [2015-04-07 14:14:25,531] [Log ] [MPMain ] [DEBUG] - VMR9: Renderer successfully added
    [2015-04-07 14:14:25,532] [Log ] [MPMain ] [DEBUG] - VideoPlayer9: Add LAVSplitter Source to graph
    [2015-04-07 14:14:25,538] [Log ] [MPMain ] [INFO ] - Added filter: LAV Video Decoder to graph
    [2015-04-07 14:14:25,538] [Log ] [MPMain ] [INFO ] - DirectShowUtils: First try to insert new audio renderer Default DirectSound Device
    [2015-04-07 14:14:25,539] [Log ] [MPMain ] [INFO ] - DirectShowUtils: Found audio renderer
    [2015-04-07 14:14:25,539] [Log ] [MPMain ] [DEBUG] - DirectShowUtils: added filter:Default DirectSound Device to graph
    [2015-04-07 14:14:25,540] [Log ] [MPMain ] [INFO ] - Added filter: LAV Audio Decoder to graph
    [2015-04-07 14:14:25,541] [Log ] [MPMain ] [DEBUG] - Filter: LAV Splitter Source - try to connect: Video
    [2015-04-07 14:14:25,541] [Log ] [MPMain ] [DEBUG] - DirectShowUtil: build the graph for PIN : Video
    [2015-04-07 14:14:25,543] [Log ] [MPMain ] [DEBUG] - PlaneScene: PresentImage() dispose surfaces
    [2015-04-07 14:14:25,547] [Log ] [MPMain ] [DEBUG] - Filter: LAV Audio Decoder - try to connect: Output
    [2015-04-07 14:14:25,547] [Log ] [MPMain ] [DEBUG] - DirectShowUtil: build the graph for PIN : Output
    [2015-04-07 14:14:25,785] [Log ] [MPMain ] [DEBUG] - DirectShowUtil: RenderUnconnectedOutputPins Pin Output - failed
    [2015-04-07 14:14:25,785] [Log ] [MPMain ] [DEBUG] - Check graph connections for: LAV Audio Decoder
    [2015-04-07 14:14:25,786] [Log ] [MPMain ] [DEBUG] - - remove done
    [2015-04-07 14:14:25,786] [Log ] [MPMain ] [DEBUG] - Check graph connections for: Default DirectSound Device
    [2015-04-07 14:14:25,786] [Log ] [MPMain ] [DEBUG] - Check graph connections for: Enhanced Video Renderer
    [2015-04-07 14:14:25,787] [Log ] [MPMain ] [DEBUG] - Check graph connections for: LAV Video Decoder
    [2015-04-07 14:14:25,787] [Log ] [MPMain ] [DEBUG] - Check graph connections for: LAV Splitter Source[/collapse]

    Note, this is not a fool-proof way of seeing the graph structure. That's why I asked you to post full log files (ie. the whole zip file from the watchdog). The zip file would have included information about what alternative codecs are installed, your MediaPortal settings (subtitle settings could be a potential cause) and a picture of the graph. Without this information, the only thing I can ask is whether files with h.264 video play correctly.
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,073
    7,459
    Home Country
    Germany Germany
    @BigAlb would you mind to try MP2 as well (latest: https://forum.team-mediaportal.com/threads/mediaportal-2-weekly-snapshot-2015-04-03.130280/)? Although it could even perform worse than MP1 (there's a german thread about this: https://forum.team-mediaportal.com/...nce-problemen-bei-der-videowiedergabe.130119/), it's a worth a try. MP2 can be installed along with MP1.

    I know from past that the MP2 EVR implementation didn't expose / allow a requested service for DXVA decoding. That lead to disabling the LAVs DXVA decoding support. Not applicable for X265, but worth to mention that such issues can exists
     

    BigAlb

    Portal Member
    October 31, 2014
    15
    2
    Home Country
    Italy Italy
    Okay. I think I'm pretty much at the end of my suggestions.

    In the log file that you previously posted, it mostly looks like MediaPortal is using the LAV splitter and video codec as intended:
    [collapse]
    [2015-04-07 14:14:25,530] [Log ] [MPMain ] [INFO ] - VMR9: added EVR Renderer to graph
    [2015-04-07 14:14:25,530] [Log ] [MPMain ] [DEBUG] - VMR9: Now active
    [2015-04-07 14:14:25,531] [Log ] [MPMain ] [DEBUG] - VMR9: Renderer successfully added
    [2015-04-07 14:14:25,532] [Log ] [MPMain ] [DEBUG] - VideoPlayer9: Add LAVSplitter Source to graph
    [2015-04-07 14:14:25,538] [Log ] [MPMain ] [INFO ] - Added filter: LAV Video Decoder to graph
    [2015-04-07 14:14:25,538] [Log ] [MPMain ] [INFO ] - DirectShowUtils: First try to insert new audio renderer Default DirectSound Device
    [2015-04-07 14:14:25,539] [Log ] [MPMain ] [INFO ] - DirectShowUtils: Found audio renderer
    [2015-04-07 14:14:25,539] [Log ] [MPMain ] [DEBUG] - DirectShowUtils: added filter:Default DirectSound Device to graph
    [2015-04-07 14:14:25,540] [Log ] [MPMain ] [INFO ] - Added filter: LAV Audio Decoder to graph
    [2015-04-07 14:14:25,541] [Log ] [MPMain ] [DEBUG] - Filter: LAV Splitter Source - try to connect: Video
    [2015-04-07 14:14:25,541] [Log ] [MPMain ] [DEBUG] - DirectShowUtil: build the graph for PIN : Video
    [2015-04-07 14:14:25,543] [Log ] [MPMain ] [DEBUG] - PlaneScene: PresentImage() dispose surfaces
    [2015-04-07 14:14:25,547] [Log ] [MPMain ] [DEBUG] - Filter: LAV Audio Decoder - try to connect: Output
    [2015-04-07 14:14:25,547] [Log ] [MPMain ] [DEBUG] - DirectShowUtil: build the graph for PIN : Output
    [2015-04-07 14:14:25,785] [Log ] [MPMain ] [DEBUG] - DirectShowUtil: RenderUnconnectedOutputPins Pin Output - failed
    [2015-04-07 14:14:25,785] [Log ] [MPMain ] [DEBUG] - Check graph connections for: LAV Audio Decoder
    [2015-04-07 14:14:25,786] [Log ] [MPMain ] [DEBUG] - - remove done
    [2015-04-07 14:14:25,786] [Log ] [MPMain ] [DEBUG] - Check graph connections for: Default DirectSound Device
    [2015-04-07 14:14:25,786] [Log ] [MPMain ] [DEBUG] - Check graph connections for: Enhanced Video Renderer
    [2015-04-07 14:14:25,787] [Log ] [MPMain ] [DEBUG] - Check graph connections for: LAV Video Decoder
    [2015-04-07 14:14:25,787] [Log ] [MPMain ] [DEBUG] - Check graph connections for: LAV Splitter Source[/collapse]

    Note, this is not a fool-proof way of seeing the graph structure. That's why I asked you to post full log files (ie. the whole zip file from the watchdog). The zip file would have included information about what alternative codecs are installed, your MediaPortal settings (subtitle settings could be a potential cause) and a picture of the graph. Without this information, the only thing I can ask is whether files with h.264 video play correctly.

    Just tried some h264 files: smooth playback with both mpchc and MP, around 15-20% cpu load with 1080p content with audio.
    Actually I've got a pretty clean installation, no alternative codecs and I just specified to play english subs as default (but also tried to disable the "auto load" function, no effects).
    Can I send you a PM with the full log?

    On the other hand, if it's not too much of a hassle, could you try one of the sample files with MP and Graph Studio or MPCHC? Even if you have a powerful cpu, I think the UHD sample could result in visiile differences in cpu load.

    @BigAlb would you mind to try MP2 as well (latest: https://forum.team-mediaportal.com/threads/mediaportal-2-weekly-snapshot-2015-04-03.130280/)? Although it could even perform worse than MP1 (there's a german thread about this: https://forum.team-mediaportal.com/...nce-problemen-bei-der-videowiedergabe.130119/), it's a worth a try. MP2 can be installed along with MP1.

    I know from past that the MP2 EVR implementation didn't expose / allow a requested service for DXVA decoding. That lead to disabling the LAVs DXVA decoding support. Not applicable for X265, but worth to mention that such issues can exists

    Hi morpheus, tried the latest snapshot of MP2... took a bit to get used to the new GUI. Anyway, the cpu load when playing x265 content is still the same when compared to MP1, thus much higher than MPCHC / Graphstudio.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Just tried some h264 files: smooth playback with both mpchc and MP, around 15-20% cpu load with 1080p content with audio.
    Actually I've got a pretty clean installation, no alternative codecs and I just specified to play english subs as default (but also tried to disable the "auto load" function, no effects).
    Okay.

    Can I send you a PM with the full log?
    I take it you prefer not to share the full logs in public for some reason?
    That's okay, but I have disabled PMs because I prefer to help people in public threads.
    If I send you a PM then you'll be able to reply.
    Note that you won't be able to attach the logs in the PM. You'll have to upload them to dropbox or some other service like that.
    Do you want me to send the PM?

    On the other hand, if it's not too much of a hassle, could you try one of the sample files with MP and Graph Studio or MPCHC? Even if you have a powerful cpu, I think the UHD sample could result in visiile differences in cpu load.
    Sure. :)
    I'm limited by a 10GB internet data cap. I didn't realise the samples were so small. If I'd realised, I would have already tested them. Sorry about that. :oops:

    My hardware is pretty old. A first gen Core 2 e6600 2.4 GHz, 975X chipset, 4GB RAM and AMD 6450 GPU.
    Using Cyberlink PDVD 12 and MP 1.7.1 my results were:
    tears = Mostly between 20 and 30% CPU. Peak of around 80% CPU at the start for a short time. No frames dropped.
    tractor = From 40 to 80% CPU. The start is higher (60+%) than the end (~40%). No frames dropped.
    bunny = >95% CPU. The MP renderer stats [shift + 1] are telling me that no frames were dropped, but the video looks a bit jerky so I don't believe it.

    Using LAV 0.64 and MP 1.7.1 my results were:
    tears = Quite stable at ~55% CPU. No frames dropped.
    tractor = Between 85 and 90% CPU.
    bunny = 100% CPU. Frames dropped.

    In general the CPU usage with LAV is higher and more stable/consistent.
    According to AMD's catalyst control center, my GPU is more active (~50%) when MP is on screen than when the videos are playing. :LOL:
    Note I can't test with other versions of MP due to work on TVE 3.5. I don't expect it would make any difference.

    [edit: I should also say that these tests were run on Windows XP. XP only has DXVA v1 support; v2 is not supported. LAV doesn't support DXVA v1, so I set hardware acceleration to "none". PDVD does support DXVA v1.]
     
    Last edited:

    BigAlb

    Portal Member
    October 31, 2014
    15
    2
    Home Country
    Italy Italy
    I take it you prefer not to share the full logs in public for some reason?
    Actually no specific reason, but you'll never know how these logs could be used... Anyway, I didn't mess with other codecs or subtitle settings.

    Using Cyberlink PDVD 12 and MP 1.7.1 my results were:
    tears = Mostly between 20 and 30% CPU. Peak of around 80% CPU at the start for a short time. No frames dropped.
    tractor = From 40 to 80% CPU. The start is higher (60+%) than the end (~40%). No frames dropped.
    bunny = >95% CPU. The MP renderer stats [shift + 1] are telling me that no frames were dropped, but the video looks a bit jerky so I don't believe it.

    Using LAV 0.64 and MP 1.7.1 my results were:
    tears = Quite stable at ~55% CPU. No frames dropped.
    tractor = Between 85 and 90% CPU.
    bunny = 100% CPU. Frames dropped.
    That's interesting! I see that you're under Windows XP so this could be a problem.
    Maybe you could ask some of Mediaportal beta-testers to try the 3 sample files under windows 7?
     

    regeszter

    Retired Team Member
  • Premium Supporter
  • October 29, 2005
    5,335
    4,954
    Home Country
    Hungary Hungary
    Using LAV 0.64 and MP 1.7.1 my results were:
    tears = Quite stable at ~55% CPU. No frames dropped.
    tractor = Between 85 and 90% CPU.
    bunny = 100% CPU. Frames dropped.

    On My laptop:

    Using MP 1.11
    tears = Quite stable at ~20% CPU. No frames dropped.
    tractor = ~30% CPU. No frames dropped.
    bunny = 100% CPU. Frames dropped.
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    Actually no specific reason, but you'll never know how these logs could be used... Anyway, I didn't mess with other codecs or subtitle settings.
    Okay. Well, then there's probably no reason for me to look at the log files.

    That's interesting! I see that you're under Windows XP so this could be a problem.
    This result was not unexpected for me. Like I said, LAV doesn't support any form of hardware accelerated video decoding on XP. I provided the Cyberlink results so that you can see that MediaPortal can actually play the files. I invite you to test other codecs too.

    Maybe you could ask some of Mediaportal beta-testers to try the 3 sample files under windows 7?
    @Testers
    Can you help us?
    3 sample videos are here:
    https://x265.com/hevc-video-files/

    Please report:
    • CPU model number and speed (eg. Intel Core 2 e6600, 2.4 GHz)
    • GPU model number (eg. AMD HD 6450)
    • codecs used
    • approximate CPU usage while playing each video
    Make sure that you check your MediaPortal.log (or better: use GraphStudio) to confirm which codecs MediaPortal is really using.
    Please feel free to test with multiple combinations of codecs.
    If using LAV codecs, make sure you use at least version 0.63.0 (or better: use the latest version, which at time of writing is 0.64.0). Earlier versions either don't support HEVC/h.265 decoding, or will use more CPU.

    Thanks in advance. :)
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,577
    8,224
    Home Country
    New Zealand New Zealand
    On My laptop:

    Using MP 1.11
    tears = Quite stable at ~20% CPU. No frames dropped.
    tractor = ~30% CPU. No frames dropped.
    bunny = 100% CPU. Frames dropped.
    Which codecs, and what are the specs of your laptop?
     

    regeszter

    Retired Team Member
  • Premium Supporter
  • October 29, 2005
    5,335
    4,954
    Home Country
    Hungary Hungary
    On My laptop:

    Using MP 1.11
    tears = Quite stable at ~20% CPU. No frames dropped.
    tractor = ~30% CPU. No frames dropped.
    bunny = 100% CPU. Frames dropped.
    Which codecs, and what are the specs of your laptop?

    • LAV 0.64.0 (none, DXVA, QS and CUVID result the same cpu usage so it seems no gpu acceleration)
    • i5 4200H
    • inbuilt Intel HD4600 + Nvidia 840M
    • Windows 8.1
     

    Users who are viewing this thread

    Top Bottom