Page MenuHome

Geometry Nodes: Improve domain interpolations.
ClosedPublic

Authored by Jacques Lucke (JacquesLucke) on Jan 13 2022, 4:20 PM.

Details

Summary

Since the recent virtual array refactor it became much easier to do the domain interpolation only for the required elements.
This patch also adds some more multi-threading where it's easily possible.

Would probably be good to add a latency optimized attribute mixer at some point. That would be easier to use here.

Diff Detail

Repository
rB Blender

Event Timeline

Jacques Lucke (JacquesLucke) requested review of this revision.Jan 13 2022, 4:20 PM
Jacques Lucke (JacquesLucke) created this revision.
Hans Goudey (HooglyBoogly) accepted this revision.EditedJan 14 2022, 9:47 PM

I think you mentioned this before, but this shows that we should probably work on a mixer that only acts on a single value at some point, rather than always abusing the mixer to work on a single value.

We could even put these in devirtualize_varray lambdas. That can happen as a separate step though, once we can demonstrate that it's helpful.
And then of course there are other possible improvements like caching topology maps.

Would probably be good to add a latency optimized attribute mixer at some point. That would be easier to use here.

I think it seems better to start with optimizing throughput, but I'd be curious to see more of what you mean here.

It might be nice to include at least a small bit of performance information. Here's my test with a 16 million quad mesh:


(master on the left, patch on the right)

This revision is now accepted and ready to land.Jan 14 2022, 9:47 PM

Would probably be good to add a latency optimized attribute mixer at some point. That would be easier to use here.

I think it seems better to start with optimizing throughput, but I'd be curious to see more of what you mean here.

I meant exactly what you said in your first sentence.