With the new update, Rainway is the smoothest way to play games in your browser. Here’s how we pulled it off.
The video compression technology used by Rainway, H.264, sends a stream consisting of different kinds of frames. I-frames are full pictures, which can be decoded without context. They’re much larger (about 10×) than P-frames or B-frames, which roughly just describe how the pixels move between this frame and the previous or following ones.
This works well for compressed video files, but it causes trouble in a low-latency streaming environment like ours. The larger I-frames take longer to transmit and decode, which causes the stream to visibly hitch for a few milliseconds whenever a full picture is sent.
We tackled this problem head-on with a technique we call Frameless Encoding. We got rid of the hitches in the stream by entirely obviating the need to ever send full frames, smoothing out the bandwidth usage. The average frame size of a stream is now around 4 kilobytes of data. We’ve also drastically improved the speed at which we encode video while lessening Rainway’s impact on system resources.
With the release of 1.0.7, we’ve begun rolling out Coffee, our highly efficient networking protocol.
A significant challenge our standard Spitfire library struggles with is message fragmentation. In previous versions of Rainway, large data had to be split up before being sent, and reassembled once received by the client. On Android and Chromebook devices, this operation was painfully slow, which resulted in higher latency and (in the case of lost data) noticeable hitches in the stream.
Coffee brings higher throughput and lower latency, making near-native performance possible in the browser — even when streaming from the cloud to a handheld device.
The Rainway team is hard at work building Rewind, which enables users to share gameplay highlight with great ease, as well as bringing Rainway to the Xbox One. We hope to have more information to share on both soon.
Internally we’ve been toying around with additional layout options for the Rainway Dashboard, so as to give users greater control over their game list. We’d love your feedback on the previews below!
We’re really excited to bring these monumental changes to Rainway, and we want to thank all our users for continuing to support us in our mission to revolutionize gaming.
Let’s keep the conversation going: