webknossos icon indicating copy to clipboard operation
webknossos copied to clipboard

Refactor how buckets are addressed for GPU rendering

Open philippotto opened this issue 6 years ago • 1 comments

At the moment, buckets are addressed relative to an "anchor point", which means the look up buffer has to be rewritten every time the anchor point changes. Additionally, the code is quite cumbersome at the moment for various reason. As an alternative, we should explore to address buckets via cuckoo hashing or a similar method. I'd also expect a performance gain from this.

philippotto avatar Mar 20 '19 08:03 philippotto

We could do a spike to test the feasibility of this approach (est. 1 to 2 days). If everything works as we imagine it, the proper integration would take 2 to 5 days (the estimation will be easier after we have done the spike).

To reiterate the motivation for this:

  • the current code for the look up logic is quite cumbersome (hard to understand and brittle)
  • there are known rendering bugs which should be solved by this (e.g., in oblique mode rotating to 45 degree can cause "a white corner")
  • performance could be improved (right now, moving the current position will cause a new anchor point; this means that the entire look up buffer has to be rewritten relative to the new anchor point)

Risks:

  • hashing is not known to be a silver bullet. there might be new subtle bugs and oddities.

philippotto avatar Mar 17 '21 16:03 philippotto

This has been implemented in #6748.

philippotto avatar Jan 18 '24 15:01 philippotto