-
Notifications
You must be signed in to change notification settings - Fork 83
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
Change GraphWidget to ChartFX #657
Conversation
* Added autoscroll toggle, range slider pans x-axis * Took out random spaces * Checkstyle fixes
plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/widget/GraphWidget.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good first pass. I still need to review performance
plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/widget/GraphWidget.java
Outdated
Show resolved
Hide resolved
plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/widget/GraphWidget.java
Outdated
Show resolved
Hide resolved
plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/widget/GraphWidget.java
Show resolved
Hide resolved
plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/widget/GraphWidget.java
Outdated
Show resolved
Hide resolved
plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/widget/GraphWidget.java
Outdated
Show resolved
Hide resolved
plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/widget/GraphWidget.java
Outdated
Show resolved
Hide resolved
Is there any documentation on what specifically dark theme changes/where the code is located? |
Nice getting dark mode working. We need to use stable versions of the software (no snapshots). Do you think you can convince that developer to push a release? |
@AustinShalit It looks like they're already moving to the next major version so I don't think that's going to happen, but I still have the rest of @SamCarlberg 's future review to address. |
The GoodPerformance seems much better now. I can run at 60fps fairly smoothly, but memory usage goes up really fast as a result. The GC seems to be able to handle it (goes from ~4GB heap to ~700MB, so there is a lot of garbage). Updates are much slower at larger heap sizes. The 10Hz configuration you've set should be OK, but I would like to see a global setting in the base plugin preferences to allow users to increase the update rate if they want. The Bad
Overall, I'm very happy with the changes you've made. Fix the small things and we can merge it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor things. You'll also need to refactor or reformat to pass checkstyle and PMD.
Overview
This widget changes the underlying graphing engine to chart-fx. This alleviates the memory cost of storing a large amount of doubles (as they are stored in unboxed form), as well as improving the refresh rate slightly.
We've also added an autoscrolling toggle to allow manual scrolling. Zooming and panning is allowed thanks to chart-fx.
Video
https://youtu.be/8uW_hd7A7zI