Virtualization and Gaming, Wrap-Up
First, let's be clear: until recently, Nvidia GRID and XenDesktop/VMWare Horizon View was not really being designed or marketed for gaming. While it is improving quickly, if game streaming is your primary concern then virtual desktops might not be the best choice right now if you don't have a large number of users. But in the situations where you want or need to use a VDI like XenDesktop then there are a number of things you should be aware of.
When using XenDesktop with Nvidia GRID cards, the biggest problems we found were not related to performance (our GRID K2 workstation card actually performed pretty well considering the drivers are not optimized for gaming) but rather the fact that fullscreen mode and mouse capturing is simply not supported. The fullscreen issue is actually on purpose with XenDesktop (and VMware Horizon as well) to prevent a user from being unable to access their local desktop, but means that you have to run a game in windowed or fullscreen windowed mode. While this can be easily worked around for most games, the mouse capturing issue is a bit more of a problem and results in some really strange behavior in games like first and third person shooters that use mouse capturing.
We tried Borderlands 2, Just Cause 2, Battlefield 4, and Team Fortress 2 and found that the lack of mouse capturing really messes with the mouse sensitivity. A tiny move of the mouse would result in your character spinning around in multiple circles. Even with the mouse sensitivity turned down to the lowest level possibly, the games were still unplayable. However, we did find that using a USB controller like an Xbox 360 controller worked perfectly. So if you prefer controllers over a mouse/keyboard than FPS games should actually work fine.
Other games that don't require that kind of mouse capture worked surprisingly well with a keyboard and mouse. Racing and arcade games like DiRT Showdown and Super Street Fighter IV that only use a keyboard ran pretty much perfectly. MOBA and strategy games like DOTA 2 and StarCraft 2 were also very playable although sometimes the mouse cursor would be the default Windows cursor rather than the game's custom cursor. The biggest issue with these games is that since you have to run games in windowed or fullscreen windowed mode you can sometimes accidentally click the mouse outside of the gaming window.
Note that even though the games are running at 60-90 FPS, the low-end CPU and onboard graphics on the client machine is not doing anything. However, the network usage is very high
From a playability standpoint, the 30 FPS streaming limit was certainly noticeable but whether it is a huge problem is going to depend on the user. Some users have no problem with 30 FPS while others really prefer to have something closer to 60 FPS or even higher. Even with the stream running at only 30 FPS, we saw a bit of display lag when we tried to play games at 1920x1080 and ended up having to turn the resolution down to 1366x768. 1080p worked great for browsing the web and running most applications, but games simply have so much activity on the screen that it caused just a bit too much lag for us to be able to game comfortably.
One thing that caught us a bit by surprise was how little input lag there was once we set the resolution to 720p. It was certainly still there, but was honestly not as bad as we thought it was going to be considering that we were playing a game remotely over the network.
Overall, playing games on a virtual desktop was not as great as we hoped, but also not as bad as we feared. Game streaming isn't something we would quite recommend doing just yet outside of the most casual of games, but we have no doubt that it is going to greatly improve in the future. No matter how much better it gets though, input lag (even a tiny amount) is probably what is going to be the biggest hurdle for this technology. It was actually not very bad over a local network but we can't see this being used for any sort of competitive gaming in the near future. However, if you just want to be able to play games that are playable at 30 FPS and don't require very much in the way of twitch responses then virtual desktops with Nvidia GRID would likely work great.
We have plenty of experience with virtualization (all of our servers use virtual machines) and basic remote desktop, but this was our first experience using virtual desktops of this level. There are plenty of easy ways to get a basic virtual desktop, but getting GPU acceleration to work introduces quite a few hurdles into the process. Frankly, we were a bit daunted at the beginning when we saw how much infrastructure and setup was required for either XenDesktop or VMWare Horizon View, but once we got started we found that the documentation was so good that at times it felt like putting together something from Ikea. Sure, the guides themselves were huge, but when each page is just "click this button, now click this one" it is very easy to follow.
Streaming videos on the virtual desktop was very close to perfect
Once we had everything setup and started using the virtual desktops, we were overall very impressed with both the video quality and performance. It really looked just like a local desktop; just running at 30 FPS rather than 60 FPS. The 30 FPS limit was definitely noticeable depending on what we were doing, but for things like browsing the web, watching videos and even using Adobe Photoshop or AutoDesk Inventor there were plenty of times that we forgot that we were not using our local PC. On anything that could use GPU acceleration, we could definitely tell that the Nvidia GRID GPU was significantly improving performance.
The biggest problems we ran into was when we tried gaming on a virtual desktop. The GRID card did its job perfectly (even though the card we used was a workstation card, not a gaming one), but many modern games have the two things that desktop streaming has the most trouble with: they have lots of visual movement on the screen and they require a minimal amount of input lag. Due to how much is going on visually in most games, we found that even at 30 FPS we had to reduce the resolution down to 1366x768 in order to minimize the stream lag. And even with minimal lag, there is always a small input delay which is pretty much unavoidable since every key input has to travel over the network to the virtual desktop.
We might not currently suggest virtual desktops for gaming, but for anything else it works very well. The Nvidia GRID cards are very reasonable price-wise when you compare them to the appropriate number of equivalent video cards and performed pretty much exactly how we expected. The biggest hurdle for most consumers to using virtual desktops is really the startup costs of the necessary servers and special licensing requirements. Virtual desktops are not going to be the right tool for the majority users and businesses, but if you have a medium to large number of users, however, it is something we would suggest looking into.
So are virtual desktops going to take over the PC market? We think that in some niche environments it will, but for the vast majority of users traditional PCs are going to be a much better choice than virtual desktops. Internet speeds and latencies are likely never going to be fast enough to provide a great user experience, so VDIs will likely be limited to large businesses with hundreds of users on site. For those businesses, virtual desktops have both a cost advantage and are much easier to deploy and maintain than physical desktops.
Rather than virtual desktops replacing traditional PCs, one way we see virtual desktops taking off is through software companies renting time on a virtual desktop to customers who need extra computing power. For example, Adobe could launch a service that allows Premiere Pro users to rent a virtual desktop with tons of CPU power. This way, if a user has a local machine that doesn't have a ton of power, they could upload their project to a server and use a powerful virtual desktop to export the project in a fraction of the time it would take them on their local PC. This way, users don't have to constantly update their PC just to use the latest versions of software efficiency.
One neat thing right now about virtual desktops with Nvidia GRID is that you don't actually have to take our word on how well it works since Nvidia is offering an open, free test drive that you can sign up for. The one thing to remember is that the test drive will be running over the internet so the streaming performance will vary based on your internet speed and location. Even with the best internet connection possible, however, the performance won't be anything like what you would see on a local network. It is a great way to try out the technology and see how different applications run, but it won't be able to give you a 100% accurate portrayal of the streaming performance you can achieve with an Nvidia GRID server running on your local network. But if you try it out, let us know what you think in the comments.
Header image via Shutterstock