Slow loading 2D scrubber

Hi,

I really like the class 2D scrubber in v5. However, in practice, it seems very slow to load earlier iterations - much much slower than if I just go the event log & click the specific iteration. Illustration:

https://www.dropbox.com/scl/fi/isewknps3hepsmx194lhv/slow_loading_2d.mov?rlkey=ebs3g7wsnkn7uvnbpul8lom08&dl=0

Is there any way to improve this? This is just accessing on my local network, no proxies etc..

Cheers

Oli

@olibclarke Please can you post (or describe the format of) the URL in browser’s address bar when you access the CryoSPARC UI:

  • http: or https:?
  • localhost, 127.*.*.* or a different host name/address?
  • including (or not) a colon : followed by a port number?

156.xxx.xxx.xxx:39000, http not https

Does the performance improve if you connect via ssh local port forwarding?

I will check thanks! Why is this expected to be better than just accessing via http? The only issue for ssh tunneling is it requires a separate setup step for each machine we want to access, as opposed to just entering the IP & port.

Avoiding the combination of (non-secure) http: and remote hosts proved to resolve some performance problems, as in Web UI won't load - #3 by ccgauvin94. Your own check will help clarify whether the delay you reported is related.

If you find that access via a loopback (127.*.*.*) address resolves the issue, an https reverse proxy, set up once for each master installation, would be an alternative to the repeated establishment of an ssh tunnel.

2 Likes

Hi @wtempel, I tried accessing via port forwarding (http://localhost:62222, using the command ssh -L 62222:localhost:39000 user@156.xxx.xxx.xxx). Performance is improved in some cases, but still very slow in others:

I don’t know how to set it up with HTTPS though…

Also the thing is that the performance loading checkpoints from the event log is just fine - it is at least 10x slower loading images from the dashboard, which makes me think there is another issue there apart from the connection mode.

Hi @olibclarke,

The implementation details of loading earlier iterations likely account for much of the delay in this case.

Essentially, the initial image will load if it is in view, and then all of the iteration images are loaded sequentially, from most to least recent, in the background. This becomes particularly noticeable when immediately scanning back on jobs with many iterations and large images, which is of course the case for 2D Classification in many situations.

We will look into optimizing image loading for earlier iterations in these cases.

For more context, in order to target the optimizations, when you are scrubbing back to earlier iterations, are you targeting a particular iteration to inspect, or are you scanning through the iterations to see how classes have progressed?

- Kelly

1 Like

For more context, in order to target the optimizations, when you are scrubbing back to earlier iterations, are you targeting a particular iteration to inspect, or are you scanning through the iterations to see how classes have progressed?

Both - sometimes I will be targeting a particular iteration (to compare with another run in progress), sometimes I will be looking at how classes have progressed