Thanks Martino, I see we're all trying to find the right balance between the different ingredients in our VFX recipe : It's not obvious how USD can fit in the gaffer environment because some concepts are already managed by Gaffer, in a more visual way.
To continue the discussion, the tests I went through :
- On one side, I've built a USD cache of 50 hairy flies, weighting 3.6Gb in total. From there, I've exported a new cache after having converted the meshes to points (984Mb of particles - Normal, UVs and colorSet removed).
The two caches are in USD format.
When displaying the result, changing the frame in gaffer evaluates roughly two times faster with the particles, but it only seems to be related to the display, not the parsing of the cache.
Indeed, copying the P primvars from the two different sources (particles or full meshes) to a static mesh shows no difference at all in terms of evaluation time.
So the only benefit of keeping the point positions as particles seems to be the cache size (no one wants to display its scene in particles, no ?).
- Displaying the USD cache in full detail across the timeline took 46s. Displaying the static models after copying the P primvar from the USD cache took 50s.
Here I'm really surprised by the copy speed, roughly ten percents of the total evaluation time. I'm just wondering if this will scale proportionally with the amount of polygons. I'm used to maya which totally collapses when reaching a certain amount of data... but the two softwares are from a different century.
- Adding lookdev, UVs and variants has no impact when changing the frame.
So for me, transferring the position that way is still a possibility. Next step would be to check how it translates to render performance (prep scene, rendertime and memory).