Dear support team,
the short version of my request is the question: What performance improvements can be expected from a Core i5-6600 CPU in terms of H.264 encoding via QSV when compared to a Core i5-4590T CPU?
The long version is that we are currently developing a system for live video recording. Video streams are 1080p60 (either 2D or 3D) and obtained from a PCIe capture device. We implemented a prototype using a Core i5-4590T and Windows 7. The prototype runs smoothly when facing a 2D stream (1080p60 H.264 AVC encoding), but drops a little below realtime (<10% frame drops) when facing a 3D stream (1080p60 H.264 MVC encoding). We built a second prototype using a Core i5-6600 CPU and Windows Embedded 8.1, hoping this would solve our performance issues. Unfortunately exactly the opposite was the case with frame drops increasing to around 30%.
This led us to conducting some basic performance measurements using the sample_encode example included in the Media SDK 2016.0.1 samples. The source code was modified so that:
- input frames aren't read from a file but just filled using ::memset (so we won't be measuring HDD read performance)
- input frames optionally can be in RGB4, resulting in a conversion to NV12 using VPP (we get either YUV 422 or RGB4 from our capture device)
For performance measurements we used the following basic command line:
sample_encode h264 -f 60 -b 20000 -u speed -w 1920 -h 1080 -hw
We tried different configurations, abreviated as follows:
- "ASYNC x" adds "-async x" to the command line
- "D3D" adds "-d3d" to the command line
- "RGB" sets vpp.In.FourCC to RGB4 and vpp.Out.FourCC to NV12 in CEncodingPipeline::InitMfxVppParams()
The performance figures (measured in frames per second) obtained for encoding 5000 frames are as follows:
Core i5-4590T CPU (Driver 10.18.14.4264), Windows 7, 8GB DDR3 RAM:
CFG-1) ASYNC 1: 221,2 FPS
CFG-2) ASYNC 4: 316,5 FPS
CFG-3) ASYNC 4, D3D: 166,1 FPS
CFG-4) RGB, ASYNC 1: 119,9 FPS
CFG-5) RGB, ASYNC 4: 164,5 FPS
CFG-6) RGB, ASYNC 4, D3D: 101,4 FPS
Core i5-6600 CPU (Driver 188.8.131.5252), Windows Embedded 8.1 Industry Pro, 8GB DDR4 RAM:
CFG-1) ASYNC 1: 199,2 FPS
CFG-2) ASYNC 4: 232,6 FPS
CFG-3) ASYNC 4, D3D: 156,3 FPS
CFG-4) RGB, ASYNC 1: 101,4 FPS
CFG-5) RGB, ASYNC 4: 129,2 FPS
CFG-6) RGB, ASYNC 4, D3D: 123,8 FPS
So (CFG-6 excepted) the i5-6600 performs around 25% slower than the i5-4950T. Regarding the higher clock rates and more modern architecture, this comes highly unexpected to us. Can you confirm this matches the performace figures to expect from the i5-6600? Or are we struggling with some system configuration issues we are not aware of? BIOS settings have been adjusted as far as possible.
Thanks for any advice,
Thank you for sharing detailed summary of your testing.Core i5-6600 CPU (Skylake) are new 6th generation graphics and Core i5-4590T (Haswell) is a 4th generation graphics processor and new 6th generation processors has many new features enabled over previous generations including MediaSDK 1.17 HW API support (https://software.intel.com/sites/default/files/mediasdk_release_notes.pdf). AVC/H.264 QSV performance on Skylake processor is blazingly fast. This link provides more detailed on new platform features: http://www.intel.com/content/dam/www/public/us/en/documents/platform-briefs/6th-generation-core-proc....
Can you please let me know your inputs on the following in regard to your system configuration, test input and scenario:
1) We have many fixes, performance improvements with every graphics drivers release. I do not have information about graphics driver versions installed on your test machine. Can you please check and confirm if you latest driver versions installed on test machine from https://downloadcenter.intel.com/. Share the drivers versions.
2) On i5-6600 CPU (installed OS WIndows 8.1) and Core i5-4590T (installed OS Win 7). Windows 8.1 provided support for direct X version 11 and it is recommend to run application with (-d3d11) when on OS 8.1 as several known limitation on direct X 9 (-d3d) are address with d3d11 support with Win8 and later operating systems.
Re-run CFG-6 test case on on i5-6600 CPU (Skylake) with above updates and let me know your findings.