Moonlight vs. Parsec on Google Cloud Platform
One need not look far to find examples that Parsec is the present-day software-of-choice for most users of cloud gaming. Not only is it the recommended software in almost every cloud gaming tutorial, but it is also the means by which Paperspace offers a cloud gaming service. And in a field predicated on accessibility, Parsec delivers; the software is easy to set up, and its interfaces are decidedly user-friendly. But Parsec is not alone in the world of cloud gaming software. Others such as Rainway and the open-source software Moonlight exist as viable alternatives. This article draws a qualitative comparison between the performance of Moonlight and Parsec on Google Cloud Platform (GCP) and concludes that Moonlight is far and away the modern software-of-choice for GCP.
These tests were conducted on a GCP machine created by following the below tutorial.
500 Hours of Free, 4K 60 FPS Cloud Gaming
A guide to Google Cloud Platform and Moonlight
The remote machine specs were as follows:
- OS: Microsoft Windows Server 2019
- GPU: NVIDIA T4 GPU
- CPU: Four virtual CPUs
- RAM: 15 GB of memory
- Storage: 250 GB of disk space on an SSD
My local machine was a 15-inch late 2013 retina MacBook Pro:
- OS: macOS Catalina
- GPU: NVIDIA GeForce GT 750M 2 GB
- CPU: 2.6 GHz Quad-Core Intel Core i7
- RAM: 16 GB of memory
- Storage: 1 TB of disk space on an SSD
Both Parsec and Moonlight were tested with a bandwidth of 50 Mbps over WiFi, and, unless otherwise noted, the applications on the remote machine were rendered in 2560 x 1600 resolution at maximum settings. Vsync was enabled in both streams, and, due to the hardware of my local machine, the H.264 coding was used when streaming the game.
For those more visually inclined, I’ve created a video comparing the two software among the same applications in this article.
UNIGINE Superposition Benchmark
UNIGINE benchmarks enable users to easily stress-test PCs to determine their stability. This benchmark was run at the 4K Optimized preset. In addition to this written comparison, there is a YouTube video dedicated to comparing Parsec and Moonlight on this benchmark. However, it should be noted that the benchmarks in that video were streamed from a local PC, not a cloud machine. Though the results nevertheless reflected those from the GCP tests.
The streaming quality of Parsec was very poor, as it stuttered dramatically throughout the entirety of the benchmark. Oddly enough, the average FPS on the remote machine — about 33 FPS — was actually higher than that on the machine using Moonlight. But the performance of the remote machine is rather meaningless if the scene cannot be streamed in near-equal quality to the user.
While Moonlight recorded a lower average FPS — about 29 — than Parsec, there was no such skipping in any portion of the benchmark. Each frame was present, and if the remote machine was recording 29 FPS, I saw 29 FPS on my local machine.
Doom is a popular first-person-shooter franchise developed by id Software. The game is optimized very well and has very low latency, making it an ideal candidate for this comparison.
In most circumstances, Parsec handled this game okay. But in certain situations, the quality became unplayable. Although the reported frame rate remained high, visual artifacts became apparent in the stream when looking around quickly, as required by the fast-paced movement of the game. This was particularly noticeable in a moment that a blast on the screen caused the stream quality to degrade substantially.
It was in playing this game that a pattern in Parsec’s performance on GCP began to form: drastic changes in the scene view precipitated drops in stream quality.
As with the UNIGINE benchmark, Moonlight had no issues rendering this game at max settings. My stream maintained 60 FPS, and it in all honesty felt like I was playing the game locally on my own PC. Not only was the latency imperceptible, but the quality was also high and free of visual artifacts.
Sid Meier’s Civilization VI
Civilization VI is a turn-based strategy game. This game served to test whether Parsec’s visual artifacts would be apparent in a game with more static scene views.
Both Parsec and Moonlight streamed this game without issue. While visual artifacts could be induced in the Parsec stream by rapidly moving the camera, standard gameplay produced no noticeable differences between the two streams. From this, it can be postulated that Parsec is better suited for slow-paced games with minimal changes to the scene on GCP.
The Witcher 3: Wild Hunt
Witcher 3 is a role-playing game known for its expansive fantasy world as well as its immersive graphics. It is a common game in the set of frequently benchmarked titles and, as such, seemed suitable for testing. Interestingly enough, this game proved to be the most stratifying of tests.
In spite of reboots and relaunches, Parsec could not stream this game comfortably at maximum settings; on ultra, it would stutter between 10 and 20 FPS. As a result, testing on Parsec was done at medium settings to maintain a playable FPS. Even with a comfortable frame rate, there were persistent artifacts in the stream. With the foliage rustling in the wind, there was little that remained constant frame to frame. Yet even when viewing something still, like the water, there was an ever-apparent blockiness.
Once again, Moonlight impressed with its quality. The difference between Parsec and Moonlight on Witcher 3 was night and day. Moonlight handled ultra settings effortlessly and averaged approximately 50 FPS throughout gameplay mixed with fighting, traveling, and interacting with NPCs. The image below highlights the variation between the Parsec and Moonlight streams.
Note that, while the texture quality is lowered in the Parsec stream, the resolution on the remote machine is identical between streams. Yet in the image above, Moonlight’s stream is plainly more defined. The Parsec stream appears as if it is running the game at only half the resolution, but again, the resolution on the remote machine is identical. It is instead the streaming software that accounts for the variance.
On graphical grounds, Moonlight is the clear winner on GCP. But a pillar of cloud gaming is accessibility, and it would naïve to promote Moonlight without assessing its ease-of-use. As noted in the introduction, Parsec does have a more intuitive setup. To run Moonlight on GCP requires about 30 minutes of first-time steps beyond the setup of Parsec. However, those 30 minutes are the difference between frustrating and astonishing gameplay. With the visual artifacts in Parsec’s stream, it’s questionable whether Parsec on GCP can be considered accessible when its quality infringes on the fun of more graphically dynamic games. Moonlight on GCP undoubtedly has a worse upfront cost to accessibility, but the standard it delivers in its stream is unmatched by other software for streaming games on GCP.
After a series of tests demonstrating the differences between Parsec and Moonlight on GCP, the following conclusions can be drawn:
- Parsec is well-suited for games with few changes in the scene between frames as in strategy and puzzle genres.
- Moonlight is, across the board, a performant software for streaming on GCP.
- Despite the lengthy setup for Moonlight, the quality of the stream is worth the temporal investment for first-person-shooter and role-playing games.