Intel N95 iGPU Transcoding Performance Review

The N95 chip can perform admirably, particularly when it comes transcoding tasks.

Intel N95 iGPU Transcoding Performance Review
UHD Graphics for Jellyfin Hardware Acceleration

What’s this iGPU?

According to Intel, this iGPU is the same of those equipped in 12-13th Gen Core CPUs. However, the one comes with the Intel N95 is further cut down to only 16 EU, compared to 24 EU for the UHD 730 found in i3 to i5 12/13400s, and the 32 EU for the UHD 770 on the higher end chips.

In addition to less EU, the N95 also only supports single channel memory, making its theoretical performance even worse.

Testing Methodology

I will be comparing the N95’s iGPU, plainly named as UHD Graphics, up against the UHD 730 found in the i3-12100.

All test will be done in LXC containers with vGPU passed-through. I ensured nothing else is consuming the iGPU while conducting these tests. In order to conduct the tests yourself, you would need to have vGPU enabled, then create an LXC with the vGPU passed through. You’d also need Jellyfin’s fork of ffmpeg , since that’s what I am using for my media server. You can install jellyfin-ffmpeg standalone without getting the full media server.

For test clips, you can download them here:

http://www.larmoire.info/jellyfish/

There are 9 clips used for the main test:

  1. jellyfish-20mbps-hd-h264
  2. jellyfish-20mbps-hd-hevc
  3. jellyfish-20mbps-hd-hevc-10bit
  4. jellyfish-60mbps-hd-264
  5. jellyfish-60mbps-hd-hevc
  6. jellyfish-60mbps-hd-hevc-10bit
  7. jellyfish-120mbps-4k-uhd-h264
  8. jellyfish-120mbps-4k-uhd-hevc
  9. In-Game recording of Cyberpunk 2077, 50 Mbps, 4K H.264

Transcoding to HEVC

The purpose of this test is to transcode content into HEVC format, with the aim of achieving comparable quality at a lower bandwidth requirement. In real-life scenarios, this is similar to converting a high-bitrate H.264 file into a lower-bitrate (but not exactly low) HEVC file for on-the-go streaming from home media with high speed connections (think Starlink or 5G SA Hotspot), provided that the playback device is capable of playing HEVC - which is the case for most modern smartphones, tablets, and laptops.

Transcoding without further reducing the output resolution or bitrate, both chips can achieve real-time results when both decode and encode are done with the media engine hardware. However, when it comes to high-bitrate 4K content, transcoding performance takes a huge hit, that’s true for both chips. Neither of the chips can maintain real-time transcoding (the minimum required frame rate should be 24 fps).

When comparing the UHD to the UHD 730, which has eight more execution units (EU) and dual-channel RAM, the former consistently underperforms the latter by 20-35%. This difference is not surprising, given that the UHD has 16 EUs compared to the UHD 730's 24 EUs, which represents a reduction of 33%. It's worth noting that when the media engine isn't under heavy load, the performance gap could be attributed to the UHD's lower memory bandwidth.

Transcoding and Resizing

In this round of testing, we will be taking an input and transcode it to 1080p with HEVC using ICQ value of 25. This represents the use case for a storage version of a high-resolution and high quality content, most likely will be ran in the background, so the media server doesn’t have to do live transcoding.

Again, the UHD 730 leads the UHD by around 25%. One thing to note is that decoding HEVC seems to be a limiting factor in this test, as both chips saw performance dips when doing HEVC to HEVC transcode. Since this task will more than likely be done in the background, frame rate isn’t the main concern here.

Real World Scenario

When on-the-go, bitrate is often the main concern, since Unlimited Data is mostly a lie, and watching high-bitrate content over the cellular network or coffee shop WiFi isn’t always possible. For this purpose, we will be transcoding from a high resolution, high bitrate content, to an 1080p content with the Preset 7, which generates a file with less than 5 Mbps bitrate.

Both chips excel at this task, with even the UHD can comfortably handle at least three real time transcodes. Again, the UHD 730 takes a lead in this one, performing 28% better.

More Jellyfin Transcoding Examples

Jellyfin likes to handle transcoding to H.264, so the examples below are based as such.

4K HEVC HDR10, to 1080p H.264 with tone mapping.
HEVC to H.264 for older devices

Conclusion

Ever since discovering the SR-IOV capabilities of Intel iGPUs, I've been tinkering with them to explore their true potential. In my latest experimentation, I'm pleased to find that even a 16 EU cut-down version on the N95 chip can perform admirably. However, as my Jellyfin server shares a node with my storage server, it wouldn't make sense to move the LXC to my N95 mini node, as turning off the storage node would render the media server useless. But, if you're looking to use an N95 mini PC as a media server, simply pop in a 5TB 2.5" HDD and you're good to go. While it's not as powerful as the UHD 730 found in i3s, I believe it's worth considering for its compact form factor and low power consumption.