By default, the SRTMiniServer uses software decoding, i.e. exclusively by the CPU. But you can enable GPU decoding in the bottom right corner.
This selection will be applied to subsequent connections.
for turn on GPU decoding use this options:
HW: dxva2 – Windows way for use GPU for decoding (uses D3D9 video functionality)
HW: d3d11va – other Windows way for use GPU for decoding (uses D3D11 video functionality)
Hardware decoder allows decrease CPU usage but please keep in mind:
GPU more sensitive to h264 profiles.
Poor support for Interlace streams: they will be automatically converted to Progressive. Depends on the GPU model, but it seems that GPU manufacturers remove Interlace-format support.
There may be a limit on the simultaneous number of decoding sessions.
After decoding the GPU must return the decoded data (raw) back to the system and if the card is discrete like NVidia for example then the PCI-bus will be used for this purpose.
But PCI-bus has a limit on the exchange rate.
For example: one 1920x1080@50fps requires ~1.5Gbs bandwidth for transfer raw data via PCI. So 5 streams require ~7.5Gbs bandwidth for transfer.
Resume
Using the GPU for decoding can take the load off the CPU and provide a benefit.
But it should be kept in mind that with a large number of simultaneous streams the overhead of raw data transfer between GPU and system can reduce the gain.
Performance is affected by many factors and we recommend using StressTest Tool for a more accurate assessment of your system's performance.
It allows you to simulate multiple streams based on a given video file.