Coherence
Coherence copied to clipboard
Only send deltas of changed buffers
Kind of a hard issue to tackle - I want proper change tracking on data and only send the fragments that have modified.
This should cover:
- Only send (and read from Blender structs) UVs when modified
- Only send vertex co/no when modified (can pretty much assume they're both modified together in most situations)
- Only send triangles when modified (With Blender's potentially unstable triangulation - is there even a safe way to get a delta? Or should we just assume it's always changing whenever other data changes...)
Vertex data is obviously the most frequent one. Might be able to avoid sending triangles while in sculpt mode - and definitely don't need to send UVs.
And then of course there's the benchmarking that needs to happen:
- Is it faster to send everything without any delta calculations
- OR is it faster to calculate deltas and only send that subset of changes
In progress - so far it sends just the buffers that need changing from Blender (and works well so far).
I can still improve this further by sending partial deltas of buffers - mostly implemented Blender-side.
Resolved as part of the new C++ core