Hello, I have a large model and I get 20-25 fps on this model, but I know I can get better. Is there a method other than collision and scene optimization? My goal is to get 50-60 fps after optimization
just call the “increaseFPS” function of course!
Jokes aside , just do those optimizations you already mentioned you know about , optimizing your model ( object count , poly count , material count , unneed transparent materials … whatever? ) , then engine specific things like less post process effects or lower sample counts on effects, then evaluate again.
Im not sure what else you are expecting to hear in this regard?
@Melih there are a lot of ways but all depends on where the bottleneck is (gpu/cpu and where on those) Having a repro would help a lot ?
Do you mean a single one? How many vertices? If too many vertices, retopology.
The bottleneck is also the GPU. Can I increase the fps by optimizing the GPU?
Joining multiple meshes into one often helps. You can join all your static meshes on your scene in your 3D Editor. This will reduce draw calls.
For example a model of a city with 1000 buildings can be rendered each building in a draw call or the whole city in one (theoretically) draw call.
GPU is also a bottleneck. Since I use ready-made models, it is not possible to combine static networks in modelling. How can I do GPU optimization or fps optimization on the code side?
Did you see these pages in the documentation repo?
You can also do a search on “optimization” in the forum, there have been many discussions on this subject in the past.
I used the optimizing your scene features, but there was no increase in fps.
i dont see any issues on my side ?
FPS is solid 60 and never stutters ( rtx 2060 ) ( absolute FPS is like 3600 - 5000 , just looking for a second or two )
what device and what specs are you testing on? Babylon is a rendering engine after all , The more you ask of it , the more hardware it will require to meet those needs. This is always the known issue of real time graphics in browsers , you need to understand your expected audience and hardware. Scenes have to be tailored to meet those needs.
Eg… you cant have a scene using very expensive post process effects with super high sample counts and then expect it to work on a potato…
Rendering speed can be optimized through various techniques and approaches, depending on the specific rendering software or platform you’re using. Here are some general tips to help you speed up rendering:
- Optimize Scene Complexity:
- Simplify and optimize your 3D models, textures, and scenes. Use fewer polygons and high-quality textures only where needed.
- Use Bounding Boxes:
- Use bounding boxes or proxy geometry for complex objects during the preview or non-final rendering stages to reduce computation time.
- Adjust Rendering Settings:
- Lower the rendering quality settings during preview or test renders to reduce computation time. Increase settings only for final, high-quality renders.
- Use Render Farm or Cloud Rendering:
- Utilize a render farm or cloud rendering service to distribute the rendering workload across multiple machines, significantly reducing rendering time.
- Multi-Threading and GPU Acceleration:
- Enable multi-threading and GPU acceleration if available in your rendering software. These technologies can significantly speed up rendering by leveraging the processing power of multiple cores or a powerful GPU.
- Use caching for elements that don’t change between frames, such as backgrounds, to avoid redundant calculations and speed up rendering.
- Render Regions or Tiles:
- Divide the rendering process into smaller regions or tiles to render concurrently. This approach can make use of all available CPU cores and GPU threads effectively.
- Optimize Lighting and Shadows:
- Simplify or optimize lighting and shadow settings. Use less complex light types, reduce shadow quality, or use fewer shadow-casting lights to speed up rendering.
- Render Passes:
- Render the scene in separate passes (e.g., diffuse, reflection, refraction) and composite them later. This can optimize the rendering process and allow for adjustments in post-production.
- Precompute Global Illumination:
- Precompute global illumination or use baking techniques to save time during rendering. Bake lighting into textures or lightmaps for static scenes.
- Optimize Textures:
- Use compressed or optimized texture formats to reduce memory usage and speed up texture loading and rendering.
- Parallel Processing:
- Make use of parallel processing by dividing the scene into independent components that can be rendered simultaneously.
- Upgrade Hardware:
- If feasible, consider upgrading your hardware, such as CPU, GPU, or RAM, to a more powerful and efficient configuration that can handle rendering tasks faster.
- Regular Updates and Patches:
- Keep your rendering software up to date, as developers often release updates and patches that improve rendering performance and efficiency.
By implementing these strategies and optimizing your rendering workflow, you can significantly speed up rendering times and enhance your overall productivity.