Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
During the XPrize finals, we noticed that the
yarpmotorgui
can take some time to start.I check the code and I found that there are some checks on whether there are other
yarpmotogui
opened. See for exampleyarp/src/yarpmotorgui/partitem.cpp
Line 86 in 76fe34d
My guess is that this call can be costly in case of a delayed network.
Moreover, there was a useless call to get each joint position PID:
yarp/src/yarpmotorgui/partitem.cpp
Lines 230 to 232 in 76fe34d
Finally, there are some delays to make sure that the reading of the joint values is valid:
yarp/src/yarpmotorgui/partitem.cpp
Lines 184 to 194 in 76fe34d
Hence, with this PR:
std::async
I have measured the initialization time before and after when opening
yarpmotorgui
with the robot on Gazebo in my PC (so all local communication), and the improvement was more than half a second.