-
Notifications
You must be signed in to change notification settings - Fork 74
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
Imviz pan/zoom needs improvements (lag in pan) #564
Comments
This is #534 and is fixed with the latest release of bqplot.
I've just opened a PR to glue-jupyter to add this tool, and we can then add it here too (basically adding bqplot:home to the list of tools (@pllim - maybe you can do this and open a PR once glue-viz/glue-jupyter#218 is merged?)
Two finger scrolling or scroll wheel on mouse.
This is going to be harder to fix though we can try and profile it to see why it's slow. Essentially whenever you pan or zoom, we re-compute a fixed resolution buffer and send it to the front-end. We do this because for large images, sending the whole image to the GPU is not feasible. Essentially we behave a little like Google maps does. Having said this, we could imagine computing a buffer that extends beyond the current image limits so that the experience is a little nicer. I would personally advocate for that being a little lower priority compared to other features but it would be good to improve at some point. |
I tried the scroll wheel. It didn't work for my mouse. It is a gaming mouse (I didn't buy it, I just inherited it) with the standard two buttons + middle wheel and some other buttons that I never use, but that shouldn't make any difference, right? |
Yeah, that sounds like a good idea! Though I am not sure about lower priority and I am not the one to make the call. It does get annoying and affects the UX aspect of things, especially if one compares with other existing visualization tools without such limitation. |
Update: Updating |
Update: Scroll wheel to zoom works fine on the "standalone" app with viola but not in the example notebook. |
I think just the laggy panning remains, so I updated the title. Thanks for all the help and hard work upstream! |
At Imviz Hack Hour, user expressed concern on various performance issues. These might be deal breaker for switching away from DS9 to Jdaviz. |
Re: #564 (comment) @astrofrog or @maartenbreddels, where is this "Google map buffer" implemented in the stack? |
The zooming might still have been buggy (see bqplot/bqplot#1359) but this should be fixed in bqplot/bqplot#1391 |
The main component of the lag is due to the which is used in the image mark: An immediate fix is to reduce the I'm not sure what the best way forward here is - there are several options:
Personally I think the middle option might be the best but I'm interested in other opinions. |
Personally, I like the pan to update while dragging, especially if I am scanning for UFOs, I mean, stars. I think other tools also allow update while dragging, so middle option might be a non-starter. |
Ah of course another option is to go with the middle option but we compute a fixed resolution buffer that goes beyond the initial boundaries, which I think would give the illusion of continuous updates. |
👍 to middle option + illusion. |
@pllim - can you try out glue-viz/glue-jupyter#246? |
I still need to then make it update on button release but at least I think it is an improvement |
On 2021-08-17, @astrofrog said this should be on hold for now until #667 is resolved to avoid premature optimization. |
Linking stuff is done. @astrofrog , we can revisit this now. FYI. |
PO said this is no longer MVP, so removing milestone. |
The remaining work mentioned here is not critical for MVP. Follow-up issue opened at glue-viz/glue-jupyter#261 |
This issue is tracked on JIRA as JDAT-1642. |
Comment by Duy Nguyen on JIRA: Current theory is that with every action requires WCS recalculations on every pixel |
Comment by Duy Nguyen on JIRA: Pey-Lian Lim: Linking was done in a general sense (for other contexts outside of astro) and adapted for WCS. A refactor of the general linking algorithm might be necessary For the time being, we can alleviate this by sidestepping the issue: link on pixel space for most cases |
Comment by Pey-Lian Lim on JIRA: Tom has a fix at glue-viz/glue-jupyter#246 but it is blocked by JDAT-1598, which causes blink to be very slow (6 seconds!) with this fix. |
Comment by Pey-Lian Lim on JIRA: Tom implemented the buffer. |
Follow up of #513 . Can be improved in the following ways:
bqplot
.)The text was updated successfully, but these errors were encountered: