Partio performance on large particle clouds?

426 views
Skip to first unread message

Ben Houston

unread,
Oct 14, 2012, 9:47:56 AM10/14/12
to partio-...@googlegroups.com
Hi,

I've been reading some really large point caches, particularly
RealFlow BIN and PRT. We are doing this as part of our Fury 2
differed particle cache loader we've implemented for Maya based on
Partio. We are doing differed loading so that only a preview is
loaded into Maya for positioning purposes. But I am finding that
loading ~ 1 GB BIN and PRT caches that are produced by RealFlow are
fairly time consuming. I know that this size of particle cache is too
large to load into Maya, but it is a reasonable particle cache to load
into a particle-based renderer like Fury.

Has anyone yet ran into performance problems with Partio? Has anyone
used it to load similarly large caches?

So there is straightforward optimization solutions, but also I am
wondering whether to add multithreading to the library -- but that
presents cross platform issues -- I guess we could utilize IlmThread
or OpenMP?

--
Best regards,
Ben Houston
CTO, Exocortex Technologies, Inc.
http://www.exocortex.com

Andrew Selle

unread,
Oct 22, 2012, 11:08:22 PM10/22/12
to partio-...@googlegroups.com
Sorry, I haven't gotten back to you on this...

One issue with Partio's simplerParticle backend is that it loads the
whole cache into memory. It is possible in the architecture to have a
different backend that could implement the ParticlesData,
ParticlesDataMutable, and ParticleHeaders in a way that nothing needs
to be loaded into memory up-front. The downside of this approach (and
one reason why we haven't done this yet) is that it makes the io part
more coupled to the execution part of partio. A hybrid would be a
streaming read/write interface would allow a streaming access that
would probably be faster because the memory working set would be
smaller. Did you make any more progress on improving performance in
other ways?

-Andy

Ilyas DIZDAR

unread,
Jan 6, 2013, 3:11:56 PM1/6/13
to partio-...@googlegroups.com
Hi,

I also have problem when I load 1 million particles, the update slow down.
Anyway I began to use Partio especially to render particles with Fury (Great render engine by the way, I hope it won't be the last gift from Exocortex to Maya users). 
1 million of particle can't be load in the Partio emitter.

So I would like to know if there is other solutions except Partio emitter to render a huge amount a particles in maya ?

John Cassella

unread,
Jan 6, 2013, 8:08:01 PM1/6/13
to partio-...@googlegroups.com
Its one of the next couple things on my list is to bulk up the  rendering  options for using partio.

Right now  there are solutions, ( in source form)  for  rendering  procedurals  for  3delight and  Arnold  out there that use partio as the backbone. 
We use an MTOA translator  for  arnold that  translates the  partioVisualizer directly into points  for arnold.

Another user has a procedural  for  3delight.  Its hosted under bitbucket. and I've been in touch with him recently  about merging his  efforts into the  contributors  section of  the partio project.

I'm hoping to genericize the rendering hooks to  make  a unified  rendering  library that all  partio rendering  translators/procedurals could use.

As for  rendering directly in maya/mental ray..  I don't reallly have any plans for that unfortunately.  If anyone else has  anything started to render points in MR ( like the  RF render kit does for example),
feel free to hit me up with the base of the code and  I could see if I could  at least hack on it a bit more and make it usefull.

Hopefully that gives you at least a bit more missing info

I know that the emitter gets pretty slow when dealing with  lots of particles  I may also try to look into speeding that up in the near future as well.
if you have access to any of the realflow  toolkit  stuff  that may be of some help as well  to  render your points for now.

thanks and let me know if there's anything else I can help with.

-johnc

Ilyas DIZDAR

unread,
Jan 7, 2013, 6:11:27 AM1/7/13
to partio-...@googlegroups.com
Thanks for your reactivity John.

I tried to instance a particles shape with the Partio instancer, it work, but again that can't support 1 million particle (the performance with this workflow seems to be the same as using the Partio emitter).

If you find the time for that, could you give me more precise information about the MTOA translator, I mean how to deal with that, I din't found so much information about. 
I think this is for now the only solution to render decently a huge amount of particles with partio in Maya.
In the end I would prefer to render those particles with Fury which is even faster than Arnold. I hope that the next rendering options you are working on will support Fury too. Anyway krakatoa for maya is coming too, what a great perspective for Maya users.
Partio is really a must have in the particles pipeline now.

Great job again, I can't wait to play with the upcoming release of Partio !

Ben Houston

unread,
Jan 7, 2013, 6:54:25 AM1/7/13
to partio-...@googlegroups.com
Hi,

We have a render procedural in Fury 2 as well for Maya build upon
Partio. It is only in more recently versions of Fury 2. It is called
the Fury Particle Loader I believe. Give it a try. It is still
fundamentally limited by the speed of partio though.

Have a look for that Ilyas. You can bring this up on the Fury 2
mailng list as well.

Best regards,
Ben Houston

Ilyas DIZDAR

unread,
Jan 9, 2013, 4:55:29 PM1/9/13
to partio-...@googlegroups.com
Thank you so much Ben ! it work like a steam train !

It would be nice if the replicator could be based on another algorithm, (on particle's velocity for example or something else ... ) in the aim to fit better the original shape.
Anyway Fury Rocks !!!

Thanks again for your help

Best regard,
Ilyas DIZDAR
Reply all
Reply to author
Forward
0 new messages