First post, by Standard Def Steve
Now with 4K DirectShow results!
Ever wonder how well a particular CPU would handle decoding a specific video format without any help from the GPU or decoder card? If you have, THIS THREAD IS FOR YOU!
Video playback on computers has fascinated me since the early 90s. Over the years I've made notes on how well different CPUs handled video playback on their own. These notes are finally coming together in handy dandy charts!
A few notes:
-All of the 16x9 video streams have a 1.85:1 aspect ratio. I did not use any 2.40:1 AR video because, while they are encoded at the same 1280x720 or 1920x1080 resolution as the 1.85:1 stuff, the black bars do take quite a bit of work off the decoder.
-This is an ongoing project. As I find more hardware (e.g. Cyrix) I'll be adding them.
-Different CPUs will be used in different charts. For example, PIIs will be left out of VP9 decode tests, and mobile i7s will be left out of Xvid tests.
-If parts of the charts appear to be cut off, use ctrl+mouse wheel to zoom out.
-For reference, I've also added some hardware-accelerated entries.
-In the charts, S/W indicates software decoding. All hardware features were disabled in the player/decoder.
-In the charts, OC indicates that the processor was overclocked. Oops!
-In the charts, SC indicates single-channel memory. DC is dual-channel memory. QC is quad-channel memory.
-I own all of the DVDs and Blu-rays used for this test. No piracy here!
I will be adding charts for the following video formats in the very near future. I already have most of the data jotted down, I just need to create tables for them.
Xvid at 640x480, 1.7 Mb/s, ripped from NTSC DVD
WMV at 640x480, 1.7 Mb/s, ripped from NTSC DVD
Xvid at 1280x720, 5MB/s. Ripped from Blu-ray, downscaled to 720p, and transcoded to Xvid
H.264 at 852x480, 2.5MB/s. Ripped from Blu-ray, downscaled to 480p, and re-encoded with x264
H.264 at 1280x720, 4.5MB/s. Ripped from Blu-ray, downscaled to 720p, and re-encoded with x264
MPEG2 at 1920x1080, 34Mb/s. Ripped from Blu-Ray without any re-encoding
VC-1 at 1920x1080, 28Mb/s. Ripped from Blu-Ray without any re-encoding
H.264 at 1920x1080, 30Mb/s. Ripped from Blu-Ray without any re-encoding
H.264 at 1080i/60, 35Mb/s. Software deinterlacing and decoding. Ripped from Blu-Ray without any re-encoding.
VP9 at 480p, 720p(60), 1080p(60), 1440p, and 2160p. HTML5 YouTube player in Chrome.
Netflix at 1080p, using the HTML5 player in Chrome.
And if I ever get more 486s, cyrix, and early Pentium systems I may add an MPEG-1 table.
Here's the first chart
Here, I'm doing one of the more basic video tests: playing a regular NTSC DVD on many different configurations. The disc had an average video bit rate of 6.5mb/s with spikes up to around 8.2mb/s. Audio was Dolby AC3 5.1 at 448Kb/s. The source was progressive (24p).
Xvid 480p
-Xvid in AVI, 640x480p, 30fps, ~1.7Mb/s. Dolby AC3 2.0 192Kb/s
-Original source: DVD-Video, MPEG2 720x480i 4x3 NTSC
-Using the same xvid 1.2.2 decoder across all operating systems. Xvid (or, at least this version of it) does not support hardware acceleration, so all test streams are decoded in S/W.
WMV 480p
-WMV, 640x480p, 30fps, ~1.7 Mb/s. WMA 192 Kb/s
-Original source: DVD-Video, MPEG2 720x480i 4x3 NTSC
Xvid 720p
-Xvid in AVI, 1280x720p, 24fps, ~5Mb/s. Dolby AC3 5.1 384Kb/s
-Original source: Blu-ray, H.264 1920x1080p 32Mb/s, DTS MA 5.1
-Using the same xvid 1.2.2 decoder across all operating systems. Xvid (or, at least this version of it) does not support hardware acceleration, so all test streams are decoded in S/W.
H.264 480p
-H.264 Level 3.1, 852x480p, 24fps, ~2.5Mb/s. Dolby AC3 5.1 384Kb/s
-Original source: Blu-Ray, H.264 1920x1080p 32Mb/s, DTS MA 5.1
-Using CoreAVC 1.85 on XP/2K, a very fast software decoder.
-Using LAV Video Decoder 0.58.2 for software decoding on Win7. This is the version that comes with MPC-HC 1.7
H.264 720p
-H.264 Level 4.1, 1280x720p at 24fps. 5Mb/s average video bit rate. Dolby AC3 5.1 384Kb/s
-Original source: Blu-Ray, H.264 1920x1080p 32Mb/s, DTS MA 5.1
-Using a combination of CoreAVC and LAV video decoders on the XP machines to compare speed. LAV on Win7.
H.264 1080p
-Ripped from Blu-ray without re-encoding the video stream.
-H.264 Level 4.1, 1920x1080p at 24fps. 30Mb/s average video bit rate. DTS HD MA 7.1
VC-1 1080p
-Ripped from Blu-ray. No re-encoding.
-VC-1, 1920x1080p at 24fps. 28Mbps average bit rate. Dolby TrueHD 5.1 audio.
I always thought that VC-1, based on WMV-HD, would be a little easier to decode than H.264, but that doesn't appear to be the case. It's either much harder to decode, or the software decoders just aren't as well-optimized as software H.264 decoders. It's an utter mess on single-core processors; even some of the slower dual-core CPUs had trouble with it!
MPEG2 1080p
-Ripped from Blu-Ray. No re-encoding.
-MPEG2, 1920x1080p at 24fps. 34Mbps average video bit rate. PCM 5.1 audio at 4608 Kb/s.
MPEG2 is much easier to decode than VC1 and H.264. Most of the single core processors can even handle it.
H.264 1080i60
-S/W=Software deinterlacing and decoding. H/W=hardware deinterlacing and decoding.
-Ripped from Blu-ray. No re-encoding.
-H.264, 1080i60, 35Mbps. Dolby TrueHD 5.1
This is kind of an ultimate 1080 directshow test for these CPUs. Far more punishing than the regular 1080p24 stuff. It features very high bit rates (35 mb/s), software deinterlacing and decoding, higher frame rates, and of course lossless audio decoding.
Google VP9 480p - 4k60
-VP9 encoded YouTube clips, using HTML5 in Chrome 47. I only used 30 and 60 fps videos. 24 fps is too easy. 😀
-None of the video cards I used feature VP9 acceleration, so everything is being decoded by the CPU.
-I used Windows 7 on all of the machines--even the old S478 systems. Why? Because Chrome's performance--particularly video playback--sucks under WinXP. I believe Chrome's graphics routine simply isn't optimized for WinXP any more.
-Why no P3 or Athlon XP CPUs? Chrome doesn't run on processors without SSE2. IE and Firefox will still work on older CPUs, but YouTube streams H.264 to those browsers.
-I have a couple of AMD APU based laptops I'm in the process of testing out. I'll be adding them to the list very soon.
One thing I noticed with the slower systems is that the initial "surge" of data that occurs when a video starts playing burns quite a few CPU cycles. This stresses many of the single core and slower dual-core CPUs, causing them to drop frames. I've measured downstream activity as high as 40-50Mb/s during the first 30 seconds of playback. So, to give the slower systems a better chance, I paused each video for 30 seconds before beginning the playback test. To keep the benchmarks consistent, I did this on every machine.
NOTE: The initial tests were performed with Chrome 47. The recently added CPUs were benchmarked using Chrome 48 and 50. However, HTML5 video performance between 47 and 50 seems to be identical.
If you can't see all of the results, hold down CTRL and use your scroll wheel to zoom out the page.
MPEG-1 at 240p
-VCD compliant MPEG-1 video at 352x240, 30fps, ~1.2 Mb/s. Audio track is stereo MPEG audio at 224Kb/s
-Original source: DVD-Video, MPEG2 720x480i 4x3 NTSC, AC3 2.0
-I couldn't get PowerDVD to run on the 486 (probably uses Pentium instructions) so I used a tiny (under 1MB) program called Roxio VCD Player on both of the Win95 machines. The newer systems used PowerDVD 4.0 with hardware video acceleration disabled.
DirectShow 4K Decoding Performance Part 1: H.264 at 24 fps
-H.264 Level 5.1, 3840x2160/24p. 58 Mb/s average video bit rate. Dolby Digital 5.1 @ 640kb/s
-Original source: Me playing GTA V at 4K. 😊
DirectShow 4K Decoding Performance Part 2: HEVC at 60 fps
-HEVC 10-bit, 3840x2160@60fps. Average bit rate: 62.5 mb/s. Dolby Digital 5.1 @ 640kb/s
This is by far the most brutal DirectShow test I'll be doing. HEVC is much harder to decode than H.264, and at 2160p/60fps only one of the CPUs could handle it. Even the 4GHz Phenom X6 had trouble here. Software HEVC decoding appears to benefit hugely from SSE4 support. I wish I had some LGA1366 equipment I could benchmark. I remember the first-gen i7s being not much faster than Penryn clock-for-clock, at least when they were first released. However they did have 8 threads and full SSE4 support. It would be interesting to see how well they'd perform here.
A newer version of MPC-HC was used for this test. Interestingly, MPC's memory usage ballooned to 1.4GB during playback!
DirectShow 4K Decoding Performance Part 3: H.264 at 60 fps and 105mb/s
-H.264, 3840x2160@60fps. Average bit rate: 105 mb/s. Dolby Digital 5.1 @ 640kb/s
H.264 is so much easier to decode than HEVC that even the Core 2 Quad can handle it fairly well, despite the massive bit rate. And unlike the HEVC decoder, H.264 doesn't seem to need SSE4 for decent performance.
Questions, comments and suggestions are welcome!
"A little sign-in here, a touch of WiFi there..."