Instance with CHOPs or DATs?

I know you can use either a DAT or a CHOP to do instancing, but how do you choose which to use? Personally I like using DATs because I can interpret/manipulate the data that’s being used to instance more easily, and because I can synthesize tables of information to merge with the instancing DAT to create color schemes and the like, but what other differences exist using either method?

Thanks!

I was a big fan of DATs for a long time, but once you start to get into thousands of instances you’ll see significant slowdowns.

These days, whenever possible I use CHOPs. DATs, though amazing, will let you down at large scales (thousands or tens of thousands), and a pythonic approach to the math for instance transformation will always be slower than a CHOP based approach.

If the data you use for instancing is not changing every frame, it does not really matter.

Once you come into situations where the data is all numbers, and also changing very fast each frame, it would be more beneficial to use CHOPs, as floating point numbers are native to CHOPS. A DAT treats all fields as text, so is not as fast with numbers.
But don’t worry too much about it until you start seeing your FPS going down.

thanks a lot, guys! that might explain some of the slow downs i’ve been seeing in my recent project.