Overview
Citrix Workspace app (CWA) for Windows automatically evaluates the hardware decoding capabilities of client-side graphics cards. This background check ensures efficient session performance by leveraging your local GPU rather than your CPU. The results of this benchmark evaluation are stored in a user-specific Windows Registry, literally HKEY_CURRENT_USER\SOFTWARE\Citrix\Ica Client\Engine\Configuration\Advanced\Modules\GfxRender\DecoderCaps\<GpuName>\<CodecName>\<YuvFormat>.
Understanding the Registry Structure
The subkeys under DecoderCaps map out a detailed matrix of what your hardware can actually decode in real-time.
1. <GpuName> subkey
This key represents the specific graphics processor detected on a client endpoint device, for example, NVIDIA Quadro P2200. If a client endpoint device possesses multiple graphics cards, it is expected to see distinct subkeys for each hardware asset.
2. <CodecName> subkey
Under each <GpuName> subkey, there are subkeys for individual video codecs, including,
3. <YuvFormat> subkey
Under each <CodecFormat> subkey, there are subkeys for YUV color space sampling formats, including,
4. Registry values under <YuvFormat> subkey
Under each registry path \DecoderCaps\<GpuName>\<CodecName>\<YuvFormat>, there're a few registry values with type REG_DWORDSupported
NumberOfFrames
DecodeTimeInMs
NumberOfFramesFramePerSecond
Supported registry value may still be toggled to 0.
Understanding the Registry Structure
The following registry values from a Windows client points indicates, GPU card "NVIDIA Quadro P2200" is capable of H265 hardware decoding with Yuv420 color sampling, while incapable of H265 hardware decoding with Yuv444_8Bit color sampling.
[HKEY_CURRENT_USER\SOFTWARE\Citrix\Ica Client\Engine\Configuration\Advanced\Modules\GfxRender\DecoderCaps\NVIDIA Quadro P2200\H265\Yuv420] "Supported"=dword:00000001 "NumberOfFrames"=dword:00000078 "DecodeTimeInMs"=dword:000002ef "FramePerSecond"=dword:0000009f [HKEY_CURRENT_USER\SOFTWARE\Citrix\Ica Client\Engine\Configuration\Advanced\Modules\GfxRender\DecoderCaps\NVIDIA Quadro P2200\H265\Yuv444_8Bit] "Supported"=dword:00000000 "NumberOfFrames"=dword:00000001 "DecodeTimeInMs"=dword:000002da "FramePerSecond"=dword:00000001
The article describes how to verify decoding capabilities of client-side graphics cards