Performance of multiples Lidar #5306
Replies: 1 comment
-
Yes, one lidar with high resolution is less costly than two lidars with the same total number of pixels. This is due to the fact that lidars rely on OpenGL depth buffer to speed-up their computation. Having two lidars is most costly in terms of performance because Webots has to perform two OpenGL initialization, rendering, retrieval of data which is a significant overhead. It is essential to disable any sensor (especially the costly ones such as lidars, cameras and range-finders) when you don't need sensor data from them. It will save a lot of computing time and hence allow the simulation to run faster. The time step passed to the robot step function has little effect on the performance, instead the refresh rate passed in the enable function of the lidar/camera/range-finder will impact the performance as it will cause more or less rendering to be performed. Obviously when not used, or used at a low refresh rate, lidars/camera/range-finder will consume less CPU and GPU resources, making the simulation run faster overall. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
This post is not about issue with the Lidar, I'm using them already and it's fine, and I think I get how they work, for the most part. It's more an open discussion on performances, and as you will read, there is no direct question, just ideas that could help get more performance about it and generate discussion. Thanks in advance !
I've no rigorous data to back me up, but I do think that the cost of having at least one Lidar in the simulation cost much more than increasing the resolution of the Lidar. Am I right on that feeling ? Could it be caused by the interface between GPU and CPU running ?
Additionally, have you advice to improve performance on that aspect ? For instance, I have multiple Lidar on a robot, but not used at the same time. I've observed that enabling the Lidar just when I need it and disabling at the end seems to help a lot.
Also, It look like increasing the timestep help, but what if I've multiple Lidar with different timestep. Would the GPU be able to sleep when every Lidar is not working ?
And are there any work that the CPU does to process data, even if there is no activated Lidar, or no Lidar activated during a precise step ?
PS : I'm not asking for cloud generation, I know it cost a lot, and I'm not using it.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions