I wanted to see if the CPU throttling issue occurred on Intel CPUs too. I happen to have a Dell Precision 7510, so I thought I'd give it a try. I actually did notice CPU throttling, but not nearly as dramatic as with the AMD CPU. With the AMD CPU the usage dropped to below 50%. On the Intel, it dropped to around 67%. When the Intel CPU wasn't throttling, its usage was almost always at 100%. The AMD CPU usage hovered around 90% when it didn't throttle.
This Intel laptop is running Linux Mint 19.3.
Intel Hardware
- Intel Xeon E3-1535M
- Frequency: 2.9GHz base; 3.8GHz turbo
- Sustained Frequency: 3.3GHz
- 4 cores; 8 threads
- 45W TDP
- 2 Laptop case fans
- 32GB DD4-2133
- Samsung SM951 NVMe SSD
- Same air conditioned room as the AMD test
Source File
- FPS: 23.976
- Resolution: 1920x1080
- Overall Data Rate: 38945kbps
- Video Codec: H.264
- Audio Codec: DTS-HD MA 7.1 channels @ 48kHz
Encoding Parameters
- ffmpeg v4.1.4 (installed from snap)
- Video Codec: H.265 (-c:v libx265)
- Duration: 300 seconds (5 minutes)
- Frames: 7193
- CRF: 20
- Audio Codec: AAC @ 160kbps (-c:a aac -b:a 160k)
Example ffmpeg Command
Code:
ffmpeg -i input.mkv -c:v libx265 -preset medium -t 300 -crf 20 -c:a aac -b:a 160k output.mkv
Test Results
Preset | CPU Throttling | Encode FPS | File Size (kilobytes) | Encode Time (seconds) | Relative Performance |
---|
ultrafast | No | 62 | 44,966 | 116 | 4.04x |
superfast | No | 48 | 56,201 | 151 | 3.11x |
veryfast | No | 29 | 95,416 | 249 | 1.88x |
faster | No | 28 | 95,440 | 261 | 1.79x |
fast | No | 23 | 97,554 | 310 | 1.51x |
medium | Yes (little) | 15 | 116,908 | 469 | 1.00x |
slow | Yes (some) | 8 | 113,254 | 909 | 0.52x |
slower | Yes (some) | 2.3 | 137,765 | 3073 | 0.15x |
veryslow | Yes | 1.7 | 134,815 | 4368 | 0.11x |
placebo | Yes | 0.4 | 165,684 | 17081 | 0.03x |
The Intel results are interesting. The CPU was able to sustain 3.3GHz across all cores. When CPU throttling occurred, even at its worst, it was not nearly as bad as the AMD CPU throttling at its worst. Throttling seems to start earlier than with the AMD CPU.
The FPS rates did not reflect the Intel chip's lower frequency was at 3.3GHz (AMD was at 4.0GHz) and fewer core/thread count.
AMD vs Intel FPS
Preset | AMD FPS | Intel FPS | AMD vs Intel |
---|
ultrafast | 105 | 62 | 1.7x |
superfast | 87 | 48 | 1.8x |
veryfast | 48 | 29 | 1.7x |
faster | 48 | 28 | 1.7x |
fast | 41 | 23 | 1.8x |
medium | 31 | 15 | 2.1x |
slow | 14 | 8 | 1.8x |
slower | 3 | 2.3 | 1.3x |
veryslow | 1.7 | 1.7 | 1.0x |
placebo | 0.9 | 0.4 | 2.3x |
I have been running other tests with different CRF and preset combos. So far, I've found that by setting the CRF low (say 10) then throttling started to occur at faster presets; as fast as "veryfast". So this leads me to believe it might not be a settings issue after all. It might be a throughput issue. Some hardware (CPU? Cache? Memory? SSD? Bus?) is limiting the encoding and causes the CPU to throttle.
I have noticed that on all the tests where the CPU throttled, the FPS was at or below the FPS of the source video. Not sure that has anything to do with it, but interesting.