fiftyone icon indicating copy to clipboard operation
fiftyone copied to clipboard

[FR] Don't reload app view after adding tags

Open jneeven opened this issue 4 years ago • 8 comments

Proposal Summary

When tags are added to a selection of images in the app, the entire view is reloaded. This causes the entire process of adding tags to however many images to take ~1 minute on my machine (and it's a very decent machine). I haven't looked at the app code at all, but I suspect there is some React component that will completely re-render when the tags change? Would it be possible to reload only the components corresponding to the images that actually changed? The current behaviour makes manual tagging of data fairly cumbersome.

I know you're already working on some app performance improvements, so perhaps this issue will be resolved indirectly elsewhere. I'm using the skip and limit options to only look at 500 images at a time and there are 15k images in total, should that be relevant. If I try this without limiting the images at all, the app freezes entirely. I have an 8-core Intel® Core™ i7-8565U CPU and 16GB of RAM, if that's interesting. Thanks!

Motivation

  • What is the use case for this feature? Dataset curation
  • Why is this use case valuable to support for FiftyOne users in general?
  • Why is this use case valuable to support for your project(s) or organization?
  • Why is it currently difficult to achieve this use case? (please be as specific as possible about why related FiftyOne features and components are insufficient)

What areas of FiftyOne does this feature affect?

  • [x] App: FiftyOne application
  • [ ] Core: Core fiftyone Python library
  • [ ] Server: FiftyOne server

Details

See summary.

Willingness to contribute

The FiftyOne Community encourages new feature contributions. Would you or another member of your organization be willing to contribute an implementation of this feature?

  • [ ] Yes. I can contribute this feature independently.
  • [ ] Yes. I would be willing to contribute this feature with guidance from the FiftyOne community.
  • [x] No. I cannot contribute this feature at this time.

jneeven avatar Jun 16 '21 11:06 jneeven

Thanks @jneeven! Yes, this issue will be resolved by some core performance improvements to App's grid. Stay tuned.

benjaminpkane avatar Jun 16 '21 14:06 benjaminpkane

@benjaminpkane do you have any estimate of when to expect these improvements? The reloading and the slowness it causes are causing a bottleneck in our data processing pipeline, so really looking forward to the optimizations 🙌🏼

jneeven avatar Jul 13 '21 09:07 jneeven

I am starting this work today or tomorrow. I don't want to give a time estimate, as we are shooting for a holistic solution. But it is concretely being worked on.

benjaminpkane avatar Jul 13 '21 15:07 benjaminpkane

Awesome, thanks for the update 👍🏼

jneeven avatar Jul 13 '21 15:07 jneeven

@jneeven just wanted to let you know we haven't forgotten about this. Tagging can cause samples to disappear (or appear) and could change the layout. We have to take this into account.

The work will be a part of the next version of the sample grid. I don't have an ETA on this, but soon.

benjaminpkane avatar Aug 10 '21 16:08 benjaminpkane

Thanks! I saw your Slack announcement about the grid performance issues with selecting images, that'll already help 🙌🏼 Looking forward to the the rest!

jneeven avatar Aug 11 '21 08:08 jneeven

Any progress on this? In particular maintaining the scroll position after refresh, as described in #1500.

Northo avatar Feb 23 '24 07:02 Northo

Yes! A prototype has been implemented. Waiting on prioritization

benjaminpkane avatar Feb 23 '24 15:02 benjaminpkane

Resolved by #4281

benjaminpkane avatar Aug 20 '24 13:08 benjaminpkane