Smarter preloading of images

My main ‘annoyance’ with EyeWire is that I am able to trace faster than the images are able to load. Not only is this annoying for me, this is also a lost opportunity for the project, since more work could be done. Therefore I argue every improvement which would result in being able to trace faster is probably worthwhile investigating.


The overall image of a slice seems to be composited out of 4 equally sized parts. For each of these parts first lower resolution images are loaded, and higher resolution images are loaded afterwards. I’ve noticed very often I only need 1/4th of the overall image when tracing. Still, the order in which images are loaded isn’t influenced by the ‘segment’ of the image you are working in.

Is it at all possible to detect whether you are tracing in e.g. the upper right part of the image, and give precedence to precaching those segments of the slices?

Hi whathecode,


I believe the way that we currently have it implemented is that we request all 4 in parallel and display them as quickly as we can when they are returned.  In other words, the loading of the other 3 doesn’t appreciably slow down the 1 that you care about.  It’s mostly a function of the latency between our servers and your machine.  Beyond that, it’s just random chance which arrives first.  The only really effective way to deal with this would be worldwide CDNs (content delivery networks).  That’s how youtube, netflx, and others are able to deliver their content all over the world with as little delay as possible.  Unfortunately that’s economically unfeasible for us at the moment.  We think that we are pretty close to the limit in terms of speed of delivery of the data to you guys, but as usual, we are open to suggestions!

Another spin off of this, is you could load all of the slides that the AI has already selected segments of cells on. Then it could place the active slide at either the top or very bottom most slide that there is an active selected cell on. From there, it would follow your currently selected slide, and load everything +/- 10 slides from that.

We are actually doing something pretty close to this already. :slight_smile:

Along these lines, perhaps it is worthwhile allowing to disable the preloading of certain quadrants entirely? When working on a particular quadrant it would only need to preload 1/4th of the slices, which I assume would only increase the preloading speed?

Came here to check about the slow loading as well.  I find that if I leave the cube and go away for a bit, it loads much faster than if I up or down arrow onto a different slice.  If I do that I’m waiting for a really long time for it all to load.  Would it be possible to have a progress metre of some kind?  Then if I browse the web or whatever, I can pop back and see how much more I have to go. 


There’s been a huge difference since we got so many new Eyewirers (which is awesome).  It used to be really fast when there was just a few of us - which was nice -  but I don’t want to trade that and lose our giant family :slight_smile: