Hacker News new | ask | show | jobs
by abhiv 4605 days ago
It's not clear to me from the announcement which parts are executed server-side and which client-side.

Companies like iSwifter have tried to do server-side-rendered, streamed Flash games for years with limited success. The local machine in that case simply transmits input and displays video.

I think the difference here is that there will be some client side computation as well, but I'm not sure how much. If the GPU is in the cloud, that seems to indicate that they are bypassing WebGL, which would provide access to the local GPU. So my guess is that the JS does the typical setup work of a CPU in a rendering pipeline (setting up the scene, constructing draw batches), transmits it to the cloud GPU, and then transfers the rendered frame to the local GPU for display.

For interactive applications, it seems like the CPU-cloud GPU latency could be a deal breaker, though John Carmack famously said that it was faster to ping Europe from the US than to draw a pixel to the screen.

1 comments

It's rendered server side. The decoding is done entirely in JS, so no plug-ins. Not even <video> tag (try doing streaming with that, the latency is +100 ms). So, When you boot an AMI up on Amazon, the web page streams back the host FB as a 60 hz HD stream. Here in Los Angeles, my ping time to EC2 West Coast (NoCal) is 13-16 ms. Encode is 4-6 ms, decode in JS is 4-8 ms - I don't notice any latency. I am very curious to see the experiences others have. BTW I work at OTOY, and my username on the OTOY forums is "Goldorak". I can help anyone out there if they need assistance.
Thanks for the reply. What about the additional latency of sending the rendered framebuffer to the local graphics card after it's received from the cloud? It seems like you're right on the edge of being able to do one-frame latency between input and render at 30 fps (33 ms per frame), but would have at least two-frame latency at 60 fps?
Well if you run Aero in windows 7, that adds 3 frame of latency for example. In my testing, I don't think the decoode->canvas->present is much of an issue, but others might be more sensitive. Of course that last step is also browser specific. Firefox 19+ to me seems the smoothest, but Chrome 26+ an Opera 16+ give very good results too.