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
4729 buffering implementation in the SWT implementation of the canvas. #4789
base: develop
Are you sure you want to change the base?
Conversation
@helenayele - we need to test this is ok in Snail Mode, and that range rings & dynamic shapes work ok. |
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.
In this fix, I its performance is improved see this video :
https://screencast-o-matic.com/watch/cYn2jFwxSW
But @IanMayo can you give me a little detail steps when you say test in Snail mode and also range ring..
Because a little confused since in Snail mode we can't see the track segments so can't test this.
Hello @helenayele - sure. Saul is now double-buffering the image. So, we take a "snapshot" of the plot image, and use that when we do some repaint operations. We only create a new "snapshot" when data changes (or something like that). So, we need to test that the snapshot doesn't get overwritten (or mangled) when Debrief is doing something dynamic, when lots of things are being repainted. Snail mode and moving range rings are examples of the plot changing, but without making edits to the underlying data. |
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.
Works as expected so approving..
Yes, @saulhidalgoaular - I think we need to use an operating system check to prevent using the double-buffering trick on MACOS. |
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.
Helen - do you see a performance improvement in Windows? Is it much slower on |
Have compared performance with/without buffering, under MS Windows. With buffering disabled:
Switch buffering on:
But, there's certainly some other expensive operation going on - since we're not getting 10ms update rates - it feels more like 500ms updates. |
Fix #4729