I have performance problems with playback of videos in my VDI machines. I’m using Blast Extreme accelerated by a Nvidia P40 GPU. Playback is always a little bit stuttering. I usually get a better result from my Linux VDI pool that isn’t GPU accelerated. If I check with youtube the problem seems to be related with encoding since I don’t se dropped frames reported by the video player.
What is your experience in fullscreen video playback with the P series?
I’m having no issues and super smooth playback even with 4k and Youtube with P40. Which browser are you using?
If you would using a Maxwell board I would assume the issue is related to decoding but Pascal already supports VP9 hardware decoding (used from Youtube) so that this cannot be the issue.
What OS and resolution are you using?
I’m using W10 64 1709 with 3 cpu and 5GB of Ram, storage is all flash. The profile is just a P40-1Q since I’m going for density. I’ve tried with edge firefox and chrome, aeme issue. Decoding the video from youtube shouldn’t be the issue, I don’t see dropped frames. The issue is not just youtube, every video app is a little bit jerky. I also tried the Nvidia lab, that is available with registration and playback is smooth there. I have also an SR open with VMware, so I’m working on multiple fronts.
could you please change the scheduler from default (equal share) to best effort for your deployment and test once again? I’m curious to hear if it makes any difference.
it depends on the scheduler. As default scheduler has no FRL it renders more than 60fps.
You can switch to best effort to have FRL=60fps which is more than sufficient. And I agree that the GPU cannot be the issue in your case as we render more than enough frames :)
I`m experiencing the same problem that Christiano mentioned before.
We got Tesla P40 GPU`s in an Horizon environment in version 7.4.0 on ESXi Hosts (HPE DL380G10) in version 6.5U1.
I´ve already switched the scheduler to best effort, but did not see a difference.
I am using 2 full hd monitors and the blast extreme protocol.
The vGPU profile i am using is "grid_p40-2q".
This is the output i get from the hypervisor shell when i run "nvidia-smi vgpu -es":
This output was generated while playing a YouTube video through firefox.
At the first "7 fps" lines the video was not startet, it startet later when those fps counters rose.
It seems like the GPU is rendering way too much frames, but i thought it is limited due to the best effort scheduler…
GPU vGPU Session Process Codec H V Average Average
I wonder about the effectiveness of the 1Q profile for full 4K video. I’ve been looking at the difference between P6-1Q, P6-2Q and P6-4Q profiles and video performance. 4Q is super smooth, but with 2Q there is roughly a 25% drop in performance and with a 1Q profile a further 25% drop from there.
I have default scheduler settings and have put this down to simple frame buffer capacity but something doesn’t sit right with me in that the software encoding engine (Blast in this case) is still doing the same number of pixels (the same video is being used) so why should the frame buffer make such a difference?
I agree this looks like you don’t have FRL in place. Could you please double check that you’re running Best Effort scheduler? Try the latest GRID6.1 package and you should have Best Effort by default…
so I ran this command on the hypervisor to set the best effort scheduler and rebooted the hosts:
esxcli system module parameters set -m nvidia -p "NVreg_RegistryDwords=RmPVMRL=0x00"
But I dont see any difference. The frame rates are still way to high.
The question is, on which layer the problem occurs first.
It can be the hypervisor, the VM config, the Guest OS or the NVIDIA driver on the OS.
So i set the preference on the lowest layer, which should be fine.
I read the installation manual multiple times and I cant figure out any config errors done by me.
I have to correct that we are now on ESXi 6.5U2, maybe there is a known bug or problem?
We are on the latest GRID 6.1 software (host driver version: 390.57).
UPDATE: I did further investigation and noticed a very interesting benchmark behaviour. This was tested with the Unigine Valley Benchmark. While the benchmark is running, the FPS-Counter in the application tells, that you are almost fixed at 67/68 sometimes 70FPS, while the hypervisor (nvidia-smi vgpu -es) tells you this:
GPU vGPU Session Process Codec H V Average Average
The benchmark feels like the frames are dropping very hard, but the FPS-Counter and the hypervisor tells you, that there are no frame-drops at all. Where/what can be the cause of this odd behaviour?
ANOTHER UPDATE: I imported the View GPOs and set the MaxFPS-Blast GPO to 60 fps. It feels much much smoother now, but the frame rates are still pretty high and you can feel some sort of "lag" if you move windows quick or even in some video sequences, but no comparison to before (Max 30 FPS).
So I think the main problem is found and stupid simple.
But for the fine tuning and the problem with the high fps I would be very pleased if I get further help here.
The QP settings are the default ones. We tried UDP and TCP, but there is no noticeable difference. I dont think, that this problem is a Blast setting. My guess is, that the frame rate limiter on the hypervisor is not working correctly. Blast displays only 60FPS due to the GPO I set, but the hypervisor renders way more frames than this. This is very bad for the user experience and of course also the user density, since one user could claim nearly all the performance of that physical GPU.
I’m having the same results as others on this forum with Horizon blast (7.7) stuttering playback with H264 encoding enabled. We are using P40 cards, using 4Q and grid driver 412.16. Was this ever resolved?