Between Stadia, GeForce Now, Microsoft xCloud, and other contenders like Shadow, game streaming is seeing a true resurgence. Core internet infrastructure and encoders have picked up significantly since OnLive's epic failure a decade ago.
Just as importantly, the idea of streaming media is now embedded in the public conscious: We've got Netflix, we've got Spotify, so why not games, too?
Remote game streaming still has a ways to go though: not everyone has gigabit internet, and some amount of latency is unavoidable unless you're physically close to the servers.
But what about in-home streaming? In these homebound times, "remote," more often than not means your bedroom, as opposed to your workplace or a different town. In-home streaming solutions have come a long way, too. But unlike remote streaming, a top-quality in-home streaming experience is within reach, with modest hardware requirements.
Whether you just want to play Skyrim in bed, or take your your work apps with you to the living room, solutions like Steam in-home streaming and Moonlight offer a near-flawless experience. As a matter of fact, while I'm typing out this article, I happen to be using an iPad Pro 10.5" streaming Windows 10 desktop over Steam Remote Play.
In this piece, I'm going to share my experiences with these two local streaming options. Which one's better? How much does latency impact the experience? And really, can you play Skyrim in bed?
What's Steam Remote Play? What's Moonlight?
If you're an iOS or Android user with an Nvidia graphics card, these are your go-to options for in-home streaming. They're both implemented differently, however.
Steam Remote Play is (obviously) tied to your Steam account and to the Steam app on Windows. You need to run Steam for Remote Play to work. On the other hand, Moonlight uses an open-source implementation of Nvidia's GameStream technology and works through GeForce Experience. Both of these apps do fundamentally the same thing, though: they stream compressed audio and video feeds from your PC games to your iOS or Android device.
Because these solutions are embedded in Steam and GeForce Experience respectively, you don't need any additional software on the host side, but you will need to download a game client on your mobile device. You can get them right here:
Download Steam Link
- Steam Link on the App Store (iPad and iPhone)
- Steam Link on Google Play, APK standalone (Android devices)
Moonlight:
- Moonlight Game Streaming on the App Store (iPad and iPhone)
- Moonlight on Google Play (Android), also for Amazon devices and Chromebooks
Why would you pick one over the other? In our testing we tried to measure specific aspects of the experiences such as latency, high refresh rate support, image quality, compression and touch controls.
Our desktop test rig is running a GeForce RTX 3080 and a Ryzen 9 3900X. We used a Netgear R6260 AC1600 router, with the PC connected via Ethernet. This is extremely important to keep in mind: a hardwired connection between your PC and the router can bring latency down considerably.
Our primary device for streaming was an iPad Pro 10.5" and an LG ThinQ G7 to test out Moonlight's input latency. We did this because the iOS version of Moonlight doesn't feature a full performance overlay. We capped the bitrate at 50 Mbps on both devices, with x265 encoding enabled and a 1080p render resolution. This represents more or less standard usage conditions. Steam Remote Play's video quality setting was changed to "Fast." There is a slight boost to both image quality and latency if you select "Balanced" or "Beautiful" instead.
Latency
Both setups delivered remarkably similar results, with latency in the 20 ms range. This is an order of magnitude better than the 150-200 ms latency in most Google Stadia titles. Moonlight performed slightly better, with gameplay occasionally running in the 18-20 ms range. However, in practice, we found it hard to distinguish latency on either Moonlight or Steam Remote Play. When compared head-to-head with a native keyboard/mouse experience, both streaming options felt a bit sluggish. But without that frame of reference, it was very difficult to tell.
Wrath: Aeon of Ruin handled just like a typical iOS or Android game. Considering that many mobile titles run at 30 FPS (with dips below), input lag was actually lower than the typical native gameplay experience.
From a latency standpoint alone, it's a toss-up: both Steam Remote Play and Moonlight hand in equally stellar results.
High refresh rate support
Manufacturers like Samsung and Apple are increasingly using high refresh rate panels on flagship smartphones and tablets. This opens the door to silky smooth high-refresh game streaming if it's a supported feature. Unfortunately, Steam Remote Play tops out at 60 Hz.
Moonlight, on the other hand, supports 90 Hz and 120 Hz panels. We tried out Moonlight's 120 Hz mode on the iPad Pro's ProMotion display. This required a bit of fiddling with custom resolutions in the Nvidia control panel, but we were impressed by the results.
Perceived input latency was lower than Steam Remote Play at 60 Hz and very close to the native PC experience. Interestingly, motion blur was lower on the iPad compared to our 1440p QNIX monitor. This meant that, at least in certain respects, streaming image quality was better than native.
Image quality and compression
Both Moonlight and Steam Remote Play support HEVC (x265) encoding. HEVC offers x264-equivalent image quality at a lower bitrate or superior compression at an equivalent bitrate.
When streaming higher resolutions and framerates, HEVC is critical to ensuring a low latency experience. While still frames held up well in both Steam Remote Play and Moonlight, we noticed that Remote Play generally looked better in motion, everything else being equal.
Despite the high pixel density of the iPad Pro's display, fast-moving scenes noticeably degraded image quality: it's important here to differentiate motion blur from compression artifacts. As we mentioned earlier, motion blur is lower on Moonlight when using its high refresh mode. But in the thick of the action, Steam Remote Play tends to hold up a bit better. The "Balanced" and "Beautiful" image quality modes further boost image quality at the cost of 5-10 ms of latency.
Touch Controls
Steam Remote Play wins hands-down here. Moonlight features extremely basic touch controls: essentially a virtual Xinput controller with buttons placed as they would be on an Xbox One controller. It's next to impossible to press multiple buttons at a time in Moonlight or even to aim reasonably well with the virtual thumbstick.
Steam Remote Play, on the other hand, features support for Steam Big Picture controller remapping. This gives you virtually unlimited flexibility to map touch controls, button combos, and aiming styles. Even better, you get access to community and developer-built touch control profiles.
In games like The Elder Scrolls V: Skyrim, these custom configs tailored the controls to deliver something approaching a native mobile experience. If you don't have a mobile controller on-hand, Steam Remote Play's touch controls are more than adequate.
We also tested both streaming clients with a GameVice controller. While some games, like 2D platformers and ARPGs handle reasonably well with a touch screen, a physical controller is substantially better, even compared to custom touch controls. We noticed that Moonlight's input latency advantage was more pronounced with the GameVice connected, especially when running at a higher refresh rate.
Closing Remarks
Both Steam Remote Play and Moonlight offer a solid (and free!) in-home streaming experience. Both offer excellent input latency and image quality, to the point that streaming is as good as or better than native mobile gaming. However, they both have their own sets of advantages and caveats. If you want to stream games at a high refresh rate, Moonlight is currently the only option. You will have to put up with slightly worse image quality, but the lower input latency and smoothness are well worth it.
On the other hand, Steam Remote Play offers customizable touch controls. If you don't have a controller on hand, it's the only way to go, considering Moonlight's frankly atrocious default touch controls.
Steam Remote Play also appears to be a better option if you plan on using in-home streaming for productivity workloads (to stream your entire desktop). At when we tested it, Moonlight suffered from an iOS bug that hides your mouse cursor, making it tough to navigate Windows. Steam Remote Play doesn't have this issue.
The real takeaway: in-home streaming is completely viable. Use your mobile devices as clients, coupled with a capable PC and an entry-to-midrange router and you're ready to go. We've definitely come a long way from the Splashtop days.