Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve GUI performance #744

Closed
adlarkin opened this issue Apr 6, 2021 · 2 comments
Closed

Improve GUI performance #744

adlarkin opened this issue Apr 6, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request performance Runtime performance

Comments

@adlarkin
Copy link
Contributor

adlarkin commented Apr 6, 2021

Desired behavior

#736 results in good RTF numbers (90-100% on my machine) using TPE in a world of 3000 static shapes when running headless. However, running regular simulation (with the GUI) with the changes in #736 drops RTF to about 30%. There shouldn't be this big of a performance disparity between headless and GUI simulation. I'd like to figure out why using the GUI is causing such a noticeable performance drop.

Alternatives considered

N/A

Implementation suggestion

TBD - I will update this once I can figure out some reasons for the slowdown.

Additional context

None at the moment - I will update this if I find anything else related to this issue that is worth mentioning (could be related to #711).

It looks like the scene broadcaster system doesn't do much if there is no GUI: https:/ignitionrobotics/ign-gazebo/blob/ignition-gazebo5_5.0.0/src/systems/scene_broadcaster/SceneBroadcaster.cc#L255-L257

@adlarkin adlarkin added enhancement New feature or request performance Runtime performance labels Apr 6, 2021
@adlarkin adlarkin self-assigned this Apr 6, 2021
@chapulina
Copy link
Contributor

It looks like the scene broadcaster system doesn't do much if there is no GUI:

Yeah I believe the SceneBroadcaster is the main reason for the slowdown when running with the GUI. See #556 for an idea that can shortcut the use of the SceneBroadcaster, by running server and client on the same process instead.

@chapulina
Copy link
Contributor

Let's follow up in #556

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request performance Runtime performance
Projects
None yet
Development

No branches or pull requests

2 participants