Can really VEX save so much memory?

   1496   3   1
User Avatar
Member
102 posts
Joined: April 2017
Offline
I am comparing very simple node with Attribute Wrangle (VEX) and I've noticed the amount of saving in memory comparing to Attribute Create is huge and it was very simple task assigning normals to points.

Little thing I didn't understand in the info about the memory is the "New:" didn't know what are this New referring to.

User Avatar
Member
899 posts
Joined: Feb. 2016
Offline
thanks for bringing this up.
Regarding the matter, I've also always wanted to know what "instanced" means
Edited by Andr - June 4, 2023 04:28:19
User Avatar
Member
72 posts
Joined: Oct. 2018
Offline
I think it like this:

Wrangle
DATA= ((0,-1,0));
pts= ( (p1,DATA), (p2,DATA)...);


AttrCreate

pts = ( (p1,(0,-1,0)); (p2,(0,-1,0))...);

Which means in Attrcreate you have n times the vector stored, but in Wrangle vector is stored once, but referenced n times, which is less memory consuming. And this is the principlpe of instncing.
Edited by GOgraphR - June 4, 2023 21:41:40
User Avatar
Member
8832 posts
Joined: July 2007
Offline
- no, you are not saving any significant memory, if you want to really compare you have to do it on a geometry with millions of points and preferably varying value, to start seeing meaningful numbers beyond such tiny deviations

- I believe Attribute Wrangle is showing (instanced) just because it's a HDA, so technically a subnet which doesn't directly take any memory, but the memory it taken but the geo held by the internal nodes
just wrap Attribute Create SOP in Subnet and MMB on that subnet, it will show it the same way

- if you want to see more granular memory stats and precise time took by the Attribute Wrangle you have to dive inside and MMB on Attribute Wrangle Core SOP (especially since Last Cook Time on HDAs and Subnets is not the actual time it took to cook)
Tomas Slancik
FX Supervisor
Method Studios, NY
  • Quick Links