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

Regression in bag playback #281

Closed
iwanders opened this issue Dec 3, 2019 · 3 comments
Closed

Regression in bag playback #281

iwanders opened this issue Dec 3, 2019 · 3 comments

Comments

@iwanders
Copy link
Contributor

iwanders commented Dec 3, 2019

Hi, thanks for open sourcing webviz!

We've noticed a regression in bag playback. For certain bags with gaps in them the playback halts at the start of the gap instead of continuing playback through them:
playback_stuck_cache_gap

A minimal bag that reproduces the issue on https://webviz.io/try/ : playback_issue_minimal.bag.gz
Created with the following script: make_bag.py.gz, basically it has 2 seconds of data, then a gap of two seconds, and then 30 seconds more data. If the last data part is 29 seconds the playback / cache mechanism jumps over the gap.

I think this was introduced in #273, commits before this don't have this issue. Looking further at the changes in this PR I identified the these values to affect the behaviour. Changing BLOCK_SIZE_NS to something larger (say 2.0e9) makes the playback work as expected.

@janpaul123 commented in the code that the numbers were determined emperically for good performance. So far increasing the block size doesn't seem to affect the performance too much, but I don't know exactly how the caching mechanism works or how this actually prevents the issue from manifesting.

@janpaul123
Copy link
Contributor

Thanks for reporting this and the excellent test case. I'll release a fix shortly.

janpaul123 pushed a commit that referenced this issue Dec 3, 2019
Changelog:
- Now we always show some data in panels upon first load, even if a `seek-to` URL query parameter is not given.
- Replaced toggle action with delete action when showing flat selected topics in the 3D panel, and added option to allow different bag topic groups to have different topics (previously topics can't be unchecked unless they are removed from both bag1 and bag2 groups).
- Various improvements to playback performance, including using threads for rendering images, a Playback Performance panel, more playback speed options, and other more minor improvements.
- Added ability to view and export all point cloud fields upon clicking a point in the 3D panel.
- Removed automatic playback when loading Webviz, in all cases. This simplifies Webviz's behavior and implementation. Just press the spacebar to start playback.
- Fixed flicker of all panels when seeking.
- Fixed bug where unhelpful errors were thrown when an invalid `?seek-to` parameter was given.
- Fixed bug where bag data was not properly loaded. #281
@janpaul123
Copy link
Contributor

janpaul123 added a commit that referenced this issue Dec 3, 2019
Changelog:
- Now we always show some data in panels upon first load, even if a `seek-to` URL query parameter is not given.
- Replaced toggle action with delete action when showing flat selected topics in the 3D panel, and added option to allow different bag topic groups to have different topics (previously topics can't be unchecked unless they are removed from both bag1 and bag2 groups).
- Various improvements to playback performance, including using threads for rendering images, a Playback Performance panel, more playback speed options, and other more minor improvements.
- Added ability to view and export all point cloud fields upon clicking a point in the 3D panel.
- Removed automatic playback when loading Webviz, in all cases. This simplifies Webviz's behavior and implementation. Just press the spacebar to start playback.
- Fixed flicker of all panels when seeking.
- Fixed bug where unhelpful errors were thrown when an invalid `?seek-to` parameter was given.
- Fixed bug where bag data was not properly loaded. #281
@iwanders
Copy link
Contributor Author

iwanders commented Dec 4, 2019

If you're interested, this line was the culprit

Ah yes, I see, thanks for linking that.

Really appreciate the quick response and resolution @janpaul123 👍 . Confirmed the issue is resolved in the latest master.

surajhpatil pushed a commit to enwaytech/webviz that referenced this issue Dec 31, 2019
Changelog:
- Now we always show some data in panels upon first load, even if a `seek-to` URL query parameter is not given.
- Replaced toggle action with delete action when showing flat selected topics in the 3D panel, and added option to allow different bag topic groups to have different topics (previously topics can't be unchecked unless they are removed from both bag1 and bag2 groups).
- Various improvements to playback performance, including using threads for rendering images, a Playback Performance panel, more playback speed options, and other more minor improvements.
- Added ability to view and export all point cloud fields upon clicking a point in the 3D panel.
- Removed automatic playback when loading Webviz, in all cases. This simplifies Webviz's behavior and implementation. Just press the spacebar to start playback.
- Fixed flicker of all panels when seeking.
- Fixed bug where unhelpful errors were thrown when an invalid `?seek-to` parameter was given.
- Fixed bug where bag data was not properly loaded. cruise-automation#281
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants