-
-
Notifications
You must be signed in to change notification settings - Fork 572
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spatial (resolution-aware) caching #1607
Comments
@Keavon I'm not really sure how we can do this. If we have If we actually implemented the cull node, then changing the footprint by panning around would certainly impact the result - so if the shape was initially outside the viewport and we cached the empty result, then that would not be ideal. |
The idea of resolution aware caching would be that we only reuse the cached result if the outcome would be the same and otherwise recompute. The click targets are a bit more tricky to update but that's the basic idea |
@TrueDoctor How do we know if the "outcome would be the same" without computing the outcome? |
@TrueDoctor wrote in Discord:
|
For 1, this is quite challenging given that poisson disk sampling inherently requires quite a lot of allocation and computation. A popular algorithm for fast poisson disk sampling is https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-poissondisk.pdf. I have also noticed that the code for sampling based on Euclidean distance is very inefficient and I might try and improve that sometime. However even with the current total caching currently we get a frame time of 80ms or ~12fps which doesn't really give a lot of room for these algorithms to run in real time. For 2, I'm not sure how this is relevant as click targets are stored in document space so don't change as the user pans around the document. |
Caching based on the
|
@0HyperCube |
We will still need to implement the things described in this issue but I think the Context thing is orthogonal to the challanges described here and at least conceptually a solved problem. Currently, we only update the time if the user explicitly enables real time mode so I think that this should currently not cause any major problem until we get around to implementing the system described above. But thanks for brining this up, it is definitely an issue I have thought about, I just haven't properly documented the reason for the design choices as part of the context pr |
Spatial, and likely temporal, caching needs to with based on storing cached data at different zoom levels, areas in space (forming a patchwork quilt of cache hit areas within surroundings of cache miss areas), and different times in the animation timeline. All this will be needed to make Cache nodes relation-aware to work with footprint data.
The text was updated successfully, but these errors were encountered: