Suggestions with moving Shapespark scene to Cloud GPU

Hello Team,

I had an idea of creating a large scene with too many polygons in it - maybe 100M to 200M. I understand that such a complex scene isn’t going to be smooth on any low or mid range devices and is only playable on high end desktop devices. However, I wanted to share an idea on this part

Is it possible to upload such a mega scene on a very high end CPU which can handle such complex graphics processes on “Cloud” and then stream it to any device on earth which simply has a screen ? Ofcourse the cost involved would be a secondary thing to consider, but is it possible in terms of technical aspects of Shapespark to handle a scene with 100-200M polygons in it ?

I would encourage other members of the forum to please share your thoughts over this idea. I think it would be a great thing to experiment with.

Hi @nishantambekar,

For now, you can do that with https://www.cl3ver.com/
If you get their demo, give us your impressions and price, please.
Epic (Unreal Engine) will be doing the same soon.

Internet speed is still increasing (5G, 6G, satellite internet), so the response to movement will be better.

I believe that Shapespark will follow these trends as well.

Best regards!

I can’t wait to see the time that we are able to make a realistic real-time render and share it online. I think the close we can get to this today is Unreal, but it isn’t much practical yet.

Hello Shapespark Team,

Could you please help with the technical part of such an idea. Is it possible to cloud render the entire scene and make it like a flawless experience on low end devices ?

We don’t have plans to support cloud based rendering with streaming to devices. Solutions like https://stadia.google.com/ show that this is technically feasible, but providing an infrastructure for it is a large undertaking.

While cloud based GPUs should indeed be able to handle much larger scenes than for example mobile devices, a smooth experience requires very good network connectivity from the client, so you are trading one problem for another. Google Stadia requires minimum 10Mbps and recommends 35Mbps connection. With the lowest supported resolution of 720p it streams 75MB of data per minute of use. With the highest resolution of 4k it downloads 330 MB per minute. For comparison, the total download size for most Shapespark scene is below 100MB.

Streaming based solution would also cost significantly more than client-site rendering, because you need to have a GPU machine in the cloud running for each client that watches the scene simultaneously and the network usage per client would be much higher.

Hello @jan,

Yes I totally agree with you that it’s like trading one problem with another. But is there a better solution to this problem where a high poly scene can be smooth even on low end devices ? I am personally trying to figure an alternative way to do it because this is a big challenge for us and our clients are asking for it everyday.

I think the best you can do is optimizing your scene or splitting it.

Optimization
From what I saw, you are using 4 highrise buildings with the same design. Even each floor of those has the same layout. You can work with instances to reduce the amount of data loaded into the browser.
You could create one standard floor and use instances of this for all buildings.
Also, you can delete invisible surfaces to reduce the number of lightmaps. You also can reduce the lightmap resolution for exterior objects to achieve less lightmaps. Exterior surfaces usually don’t need a resolution of 75. 20 or even lower should work for walls or windows.

Splitting
You could connect scenes like levels of a computer game. For example, you have an exterior scene, and when you enter a building, you place a trigger that loads the next scene, the hall. From there, you could connect apartments or commercial areas with further triggers.

1 Like

Really appreciate you putting the effort in making us understand. Thanks a lot.

However, apart from this particular scene, what if the polygon count is large (100M-200M) ? Can we also optimize the scene in a way that would run smoothly on low end devices ? Could we use optimum lightmaps and reduce it’s resolution and make it perform flawless with these optimizations ? If we don’t consider splitting, can a scene with such a large polygon count work great on low end devices ? If not, could we bring up a solution to this ?

From my experience, it is not only the number of polys that count. If you also use a larger amount of high-quality textures, it also will cause problems.

A scene with 13-15 million polys can run on a device that is 4-5 years old if you don’t use too many textures in it. But of course, this also depends on the device itself.

It is not possible to say “if you do this and that” everything is fine. You should decide what you want, what is your target audience. You want a high performant scene that runs on all devices? Make it small.
You want a scene close to reality? Make sure your target audience uses mainly PCs or high-end mobile devices.

If you want both split scenes into smaller ones and accept that the customers have to load several scenes.

And you have to run tests. This is nothing you can avoid if you want to increase your skills and experiences with this kind of business.

3 Likes