Infrastructure
VMware vCenter
Server: Supermicro 4028 with E5 2697 Proc
VMware Horizon View 7 ( Connection Server)
Tesla M60 Configured in graphics mode
Nvidia License Server with Trial License
Cisco 3560 Gigabit Switch
VM Configuration:
4vCPU
16GB Ram
SSD based storage
End Client: Fat Client Windows 7 Machine 2 Screens 1920x1080 output
Protocol in use: PCoIP with following tweaks performed on client (tested with GPO based as well as client based tweaks)
(HKLM\SOFTWARE\Policies\Teradici\PCoIP\pcoip_admin), :
Tested with different frame rates / min and max image quality etc
\pcoip_admin
pcoip.device_bandwidth_floor: 900000
pcoip.enable_build_to_lossless: 1
pcoip.enable_server_clipboard: 0
pcoip.enable_vchan: 1
pcoip.maximum_initial_image_quality: 100
pcoip.minimum_image_quality: 100
\pcoip_admin_defaults
pcoip.device_bandwidth_floor: 1000000
pcoip.enable_build_to_lossless: 1
pcoip.maximum_frame_rate: 60
pcoip.maximum_initial_image_quality: 100
pcoip.minimum_image_quality: 100
pcoip.transport_session_priority: 1
pcoip.use_client_img_settings: 1
Tests Performed
1 Virtual Machine with Grid vGPU Profile M60-8Q – 8GB
Screen Output: 2 x 1920x1080
Issue No. 1: Nvidia vGPU
vGPU is always rendering more than 60fps. Switched Nvidia FRL(Frame Rate Limiter) on and off to check with following results:
FRL Enabled: Rendering is always above 65fps reaching till 70 fps
FRL Disabled: Rendering is always above 70fps reaching till 80 fps
Isssue No. 2: PCoIP
Unable to get 60fps on client side
We require 1920x1080 @ 60hz = 124,416,000 pixels per screen
For 2 screens the total will be 248,832,000 pixels
Perfmon shows PcoIP not exceeding 51Mpps.
As per my understanding, the limit is on the transmission protocol i.e maximum Mpps via soft client
So.....My question is: Is there a possibility to achieve stable 60fps on the client side with 2x 1920x1080?
To answer my own question. NO. 60fps on PCoIP is not possible with software solution. Only possible with Remote workstation cards which will be a 1:1 patch with less density and no scalablity
here is the answer from Teradici forums:
Answer by Randy Groves · Aug 15 at 12:55 PM
PCoIP only encodes the pixels that are changing on the screen. Most use cases for the applications you mention do not change every pixel on both screens. However, if you really need every pixel changing on both screens at 60fps, the only known solution is to use an NVIDIA Quadro card (not Tesla) connected to aTeradici Remote Workstation card connected to a PCoIP Zero Client with at Tera2140 chip in it (one that supports quad displays).
With vGPU, you will be limited to ~60Mpps per VM with software only. With the PCoIP Hardware Accelerator card you will be limited to ~80Mpps per Display. This will support 30fps for content that is changing 2Mpixels per frame, but 60fps will require content changing at <1.3Mpixels per frame. Note that even a quad core Thick client can further limit the performance, so you may want a PCoIP Zero Client for this, too, though a Tera2321 is probably good enough (supports dual display and 130Mpps of decode)
Since you are only getting ~50Mpps, if the limit is not your Thick client, some additional suggestions are:
This brings me to test Blast protocol
End Client: Fat Client Windows 10 Machine 1 Screen 1920x1080 output
tried multiple registry tweaks on Blast protocol adjustments, image quality, max fps etc but unable to get more than 30fps on client side.. I am targeting @ 60fps.
Anyone fighting with similar issues out there ??