Can some of you guys please share some of your experiences on this?
When building a BabylonJS scene, it’s important to consider the limits of what is feasible in terms of the number of Vectors, Meshes, Animations, etc. that can be used without negatively impacting performance.
I realize the exact limits will depend on the specific hardware and configuration of the machine running the game, as well as the complexity of the scene, but it would be helpful to have a rough idea of what to aim for in terms of these elements.
As I am developing a game for browser on desktop machines and laptops, with secondary / less consideration for mobile devices, I would appreciate any rough estimations or numbers on the maximum amount of Vectors, Meshes, Animations, etc. that can be used in a BabylonJS project for a smooth desktop-browser experience without compromising performance.
Having a rough idea of feasibility at the outset can help guide development and ensure a smooth player experience.
Wow, that’s a complex question with many many different answers
First a note - don’t take the numbers in this answer as absolute. they are just here to make a point
As you say - it is very much hardware dependent. A mobile might support 20 high-res images as textures, and a desktop will support 100. A computer with a large amount of RAM will be able to hold many meshes in memory (notice, i am not talking about rendering, just loading them), whereas a device with low amount of memory might struggle.
And of course we get to rendering very quickly. An RTX4090 will most likely be able to render A LOT more than an HD4000
There is no real answer to that. You need to be sure to set minimum specifications, if you think it will be needed. You need to make sure to analyze the user’s scenario and understand if everything is working as expected. You have a lot of data in real time. Use it, adjust your scene accordingly. And optimize your scene as much as possible! this way you won’t need the answer to that. it will work on most devices nonetheless.
And a final note - sorry for not being very helpful in answering your direct question…
To be fair, it’s a question impossible to answer directly!