Optimize the deployment with Distributed Rendering
By now, you have authored and run your simulation and are able to generate interesting results and insights about the robot application under test. Now, it’s time to start optimizing the performance of your simulation!
If your simulation is running too slowly, and if rendering is the bottleneck (which is likely the case if you are using many vision-based sensors in your simulation), then you can improve the performance by distributing the rendering workload using our Distributed Rendering package.
The Distributed Rendering Unity Package
The Distributed Rendering package helps optimize performance by running a simulation across multiple instances. Its core functionality is to maximize computing infrastructure usage by decoupling the execution of user scripts and CPU tasks from the rendering pipeline, allowing multiple accelerators/hosts to share the rendering workload.
The Distributed Rendering model divides the simulation execution into two pieces; Server and Client(s).
Server
The Server is responsible for the (virtual) physical logic of the simulation, and manages the state of the scene across Clients. This includes physics, collisions, agent interaction, animations etc.
There is one Server for a simulation.
Client
A Client is responsible for rendering visuals for the simulation. It does not carry out any of the actual physics and calculations required for accurate rendering, and simply renders the scene based on calculated updates provided by the Server.
There may be multiple Clients for a simulation, and these Clients may be distributed across multiple machines and GPUs.
How to get access?
If you have landed here without visiting our product page here, we recommend heading over there, and reaching out to our product team to get access first. Once thats completed, for any further engineering support please reach out to unitysimulationpro@unity3d.com
so we can get you set up and provide the required help.