You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The image annotation tool freezes for a short time whenever a new annotation is created (after the request returns), once there are a couple of thousand annotations on an image (tested with ~3000 point annotations). This is an edge case for regular images but could happen easily for gigapixel images.
The freeze is caused by the update of the annotations array which is made reactive by Vue. This can probably be implemented more efficiently, e.g. by bypassing reactivity/props and access component methods directly, or by using Object.freeze on the annotation objects. However, this is a significant amount of work and requires thorough testing, as the annotation canvas is a core component which is also used elsewhere in BIIGLE (e.g. MAIA, ananas).
The text was updated successfully, but these errors were encountered:
mzur
changed the title
Improve performance
Improve annotation performance
Mar 6, 2020
mzur
transferred this issue from biigle/annotations
Jul 9, 2020
We also had a similar report for a video with more than 10k annotations. Maybe there is a similar bottleneck in the video annotation tool? See also #417
With Vue 3 there is the easy option of using markRaw() and then selectively make attributes reactive with ref() and reactive(). In #949 this was in part implemented for the video annotation tool (the Annotation class). A similar thing could be done in the image annotation tool.
The image annotation tool freezes for a short time whenever a new annotation is created (after the request returns), once there are a couple of thousand annotations on an image (tested with ~3000 point annotations). This is an edge case for regular images but could happen easily for gigapixel images.
The freeze is caused by the update of the annotations array which is made reactive by Vue. This can probably be implemented more efficiently, e.g. by bypassing reactivity/props and access component methods directly, or by using
Object.freeze
on the annotation objects. However, this is a significant amount of work and requires thorough testing, as the annotation canvas is a core component which is also used elsewhere in BIIGLE (e.g. MAIA, ananas).The text was updated successfully, but these errors were encountered: