Optimization and performance
Understanding how to optimize your world is a key part of creating a good experience for your visitors. This guide will help you understand how to optimize your world and how to use Dverso's tools to help you.
What is optimization?
Optimization is the process of making your map run better. This can mean a lot of things, but in general, it means making your world run faster and use less memory. This is important because it means that more people will be able to visit your world and have a good experience.
File sizes and limits
Using optimized files is important to make your map shine, to check on file sizes refer to the File Standards section.
Lights and shadows
Using the Lights is a great way to breathe life into your world, but it can be expensive. If you have a lot of lights in your world, be sure to disable "cast shadow" on the majority of the lights. Using the "Soft Shadows" feature is also expensive, so be sure to disable it if you don't need it. In perfect conditions, use a Sun and some Point lights without "cast shadow".
Sun light also offers a feature called "Aggressive Shadows" that makes shadows more precise but more expensive, so be sure to disable it if you don't need it.
Shadows are disabled by default on weaker devices, so if you want to use them but your default video preset disables them, be sure to enable them in your settings
Physics
Dverso automatically computes physics for your world, but it can be expensive. If you have a lot of objects with physics, be sure to disable "collider" on the majority of them. Another way to optimize physics is to use the "Shape" property on your objects. Convex is less precise but faster; Concave is slower but more precise.
Camera and Culling
Dverso uses a culling system to render only what the camera can see to improve performance. In junctions with this system dverso also uses a LOD (Level of detail) system to render objects with less detail when they are far away from the camera. Placing objects in the right way can help the culling system to work better, for example not cramming a lot of objects in a small space will enhance your map performance as the culling system will not have to render all of them at once.
Dverso uses a spatial indexing system to improve culling, this means that frame speed is not influenced by the number of objects in your world.
IMC
Dverso offers a feature called IMC (Instanced mesh coordination) that allows the engine to render multiple repeated objects as just one draw call. This will help your map run smoother if you have a lot of repeated objects. Keep in mind this is experimental and works better without outilines enabled.
IMC is a feature that is meant to be used in the "final version" of your world, it does not work well inside the editor and can cause issues. It's reccomended to turn it off while editing your world.