Cloud Rendering on BabylonJS

Hi everyone,

I have a question, what if I have a server that has high-end specifications. Can we render a Babylon scene on the server so that low-end devices can open a Babylon scene with lots of objects? Is this possible? Thank you

Maybe this doc will help: Render a Scene and take a screenshot on a remote server - Babylon.js Documentation

Answering some related questions/thoughts;

Possible? Yes.

Interactive? Slow.
Record user input, send to server, render & screenshot, respond, latency… etc
60fps is 1 frame per 16.66 Ms, a round-trip to a server, depending on location, distance, 100ms+ is not uncommon. so the response to the user input will be many frames behind.

60 fps? Doubt it.
Unless the scene is “static”, aka, everyone sees exactly the same.
The server would have to render 60 fps for 1 user, 600 for 10 users,
3000 for just 50 users… that’s 3 frames per Ms.
That’s one hell of a server, but possible to split the load between a network of servers of course :slight_smile:

With the current technology, i bet the low-end device would have better performance on it’s on :smiley:

Thank you for answering my question @Evgeni_Popov @aWeirdo. .

From what I read and understand from these docs (Render a Scene and take a screenshot on a remote server - Babylon.js Documentation) , when we want to render a scene from the server, it means that the server will repeatedly send screenshots to the client device. I have a question, can the client interact with the scene if a scene has a GUI such as buttons, sliders, etc.? Or the client can only see the scene without client interaction with the scene? Thank you :slight_smile:

You can control the render on the low end machines. You wont be able to maintain high fps but if its a static scene with limited interaction you can basically turn off the render on only render when you need. This helps quite a bit on low end clients. I know one of my coworkers got a pretty complex scene running on VMs that have no GPU stuff using this method. So it is possible.

If you are thinking about essentially passing image buffers to a client that would work too, just the interactions might be tough and I doubt would ever be very responsive.

Thank you, I think I will try it on my server.