I'm running a test of Horizon View (5.2 build-987719) on a Dell R720 with an Nvidia GRID K2 card. The Nvidia driver is version 304.76.
I've set up a pool on this node to test out the hardware accelerated graphics, but am encountering an odd issue. I'm toying with the molecular modeling package Schrodinger Maestro, loading and rotating 3d protein models. In a fresh session, the fps is initially very poor, to the point that the software would not be usable by our users (< 10fps). On the esxi host, 'nvidia-smi' shows low to no GPU utilization, in the 0-5% range. Using the PCoIP log viewer, I see low-ish PCoIP server utilization (<20%) and relatively low Image Tx bandwidth utilization (~5000 Kb/sec).
At some point, and what triggers this I'm not entirely sure (it has happened a couple of times after I opened the task manager, though this seems an odd cause. It has happened on its own after 30 seconds or so), the GPU kicks in; 'nvidia-smi' shows 25-30% utilization, PCoIP server utilization jumps to ~90%, and Image Tx bandwidth bumps to ~20000Kb/sec. The protein rotation smooths out, and everything appears to work as it should from that point on.
The VMs run with 6 cpus and 32 GB ram. I've run through the PCoIP optimization guide (and disabled 'build to lossless' as well as tuned audio bandwidth), and also ran through the Windows 7 View optimization guide (and made use of the recommended optimization script). I'm seeing this issue with only one View desktop running on the host.
I have the exact same setup as you, any chance you could share your testing application so I can see if I get similar results?
It sounds like the app is generating an extremely high FPS. Likely in the 1000's. There are some enhancements we are making for high FPS apps in our driver that should help in the future. If this is it...... try adding this registry key.
In the following location:
HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware SVGA DevTap
Create the DWORD value
Set a dword value that matches your PCoIP FPS. If for example you have the default of 30 fps. Set it to that.
I don't think Schrodinger offers a trial version. In trying to find something else to test with, I discovered a couple of applications that simply crash on this setup when trying to render certain things (PyMOL, Cambridge Structural Database Mercury crashing when trying to render wire/tube representations of molecules); possibly a separate issue, but maybe not. I traced the openGL calls hoping something would stand out, but I lack the expertise to spot an issue.
I'm going to give wponder's suggestions a go and see if it helps.
Doesn't look like setting MaxAppFrameRate solved the issue; symptoms as before. I'd like to try this with vdga as well, though I've not had luck getting that to work just yet.
Strange.. can you send a screenshot of the reg setting? I can take a look just to double check it.
Sure, screenshot attached:
Try setting it to "0" instead, that disables any throttling,
I found that setting the pool to automatic makes everything behave like you describe, it takes around 30 seconds for gpu to kick in. However, when I changed the pool 3d setting to : Hardware then it goes instantly!
Thanks for the tip, though this pool was already configured to use only hardware rendering.
No luck with MaxAppFrameRate = 0. I'm starting to suspect the application may be doing something strange; it may also be that SVGA is simply not capable of handling workloads like this.