ICE Modeling speed (or lack of?) : Scatter Geometry

175 views
Skip to first unread message

Malcolm Zaloon

unread,
Apr 25, 2011, 2:35:44 PM4/25/11
to soft...@listproc.autodesk.com
Hello guys.


I´m building some "scatter" compound using geometry instead particle instances, just for test and learn ice modeling speed when dealing with geometries.
the compound works nicely, but i found it extremely slow when dealing with just 20k cloned objects. (simple 13 polygons mesh as source). 
Over 4 minutes to complete operation!

timings:
2k clones = 10 seconds to complete
4k  clones = 30 seconds to complete
20k  clones = insanes 4:40 seconds to complete (very disproportional actually)

Is it normal? (note, my machine is very fast,6 real Cores with 12Gb ram, the same operation with particle instances is a instant!)

--
__________________
Malcolm Zaloon - Lighting TD - XSI Generalist
Quote:
"Everything can be interconnected and will update according by interface" AND FAST!

Guillaume Laforge

unread,
Apr 25, 2011, 3:53:28 PM4/25/11
to soft...@listproc.autodesk.com
Hello Malcolm,

It looks like a normal timing to me. Doing multi-copies of a polygon mesh source into one new mesh is not the same thing than doing particle instancing.
Particle instancing is be design suited for a high numbers of the same copy. You won't be able to get such performance with a true polygon mesh generation.

Btw, if you just need to copy the polymesh source without any other attributes, you can turn off the "Set Material from Source" and the "Set Default Texture Projection". This way, it will be a pure topology copy operation and should be faster.

Cheers

Guillaume Laforge 

Malcolm Zaloon

unread,
Apr 25, 2011, 4:03:58 PM4/25/11
to soft...@listproc.autodesk.com
Oh, i will try this!
Thanks Guillaume!

Malcolm Zaloon

unread,
Apr 25, 2011, 9:18:55 PM4/25/11
to soft...@listproc.autodesk.com
Guillaume, 
I try without copying attributes, but still very slow, no performance updates here...

Just for my own performance observations, i recreate exact same scene on houdini apprentice today(including source geometry imported via .obj), but not with 20k clones, but 200K!, and take only 3 seconds to show results in viewport, without using particles...
the screenshot is attached.

Partial conclusion: Same approach in both, but to much different results.
Maybe i need another approach building this on ICE, or is it a performance bottleneck of softimage specifically?

Malcolm.
200k_clones_houdini.JPG

Andreas Bystrom

unread,
Apr 25, 2011, 9:42:30 PM4/25/11
to soft...@listproc.autodesk.com
and are you sure that houdini isn't doing some kind of optimization under the hood, i.e using instances when there is no change to each individual clone?

perhaps a more valid speed test would be to create a bunch of random polygons or change the topology on a dense mesh in ice/houdini

if you are only doing clones why do you need to copy the geometry in the first place, is there a reason not to use particle instances here?
--
Andreas Byström
Lighting TD - Weta Digital

Guillaume Laforge

unread,
Apr 25, 2011, 9:56:12 PM4/25/11
to soft...@listproc.autodesk.com
Yeah I know that the Copy Sop is faster. That is because it is not really the same thing in fact.

If you take a look in the "Create Copies from Polygon Mesh" compound, you will see that it is not a simple copy but a merge of the same topo (it is using the Merge Topo Array node).
I guess time was too short for us to add more work on it...
What we could do in the future is (for example) provide a pure Copy Topo node. Maybe it would give better performances (maybe, because it is just speculation on my side for now).

For a fair comparison with Houdini, try to use the Merge sop to do your 20k copies :p.

Houdini is a mature procedural system. ICE Modeling is very young but the potential is there. It is already capable of lot of things (impossible to do procedurally in Softimage before), and I hope its features will grow more in the future.

Cheers

Guillaume

christian keller

unread,
Apr 25, 2011, 10:06:22 PM4/25/11
to soft...@listproc.autodesk.com
check the performance difference :

http://vimeo.com/groups/13784/videos/7218396
http://si-community.com/community/viewtopic.php?f=27&t=334&start=0

the same method guillaume had on his blog
massive difference ;-)



christian keller
visual effects|direction

+49 0179 69 36 248
chr...@gmx.de

Graham D Clark

unread,
Apr 25, 2011, 11:08:53 PM4/25/11
to soft...@listproc.autodesk.com
On Mon, Apr 25, 2011 at 6:56 PM, Guillaume Laforge <guillaume....@gmail.com> wrote:
Yeah I know that the Copy Sop is faster. 

sure is ;) 
miss the easy groups and rules too, but crossing my fingers good stuff on way next version of soft.
--
Graham D Clark,
phone:  why-attempt, S3D work phone: why-I-stereo
http://www.linkedin.com/in/grahamclark

Malcolm Zaloon

unread,
Apr 26, 2011, 10:44:56 AM4/26/11
to mailgrah...@gmail.com, soft...@listproc.autodesk.com

Thanks for explanations Guillaume!
Pure copy will be very interesting node.... ;)

Guillaume Laforge

unread,
Apr 26, 2011, 11:32:20 AM4/26/11
to soft...@listproc.autodesk.com
> Pure copy will be very interesting node.... ;)

The interesting thing with ICE Modeling is that you could build it yourself !

I'm not saying that we should not implement a factory "Polymesh Copy" node (it would be a very good idea in fact) but just that ICE Modeling gives lot of un-expected solutions.

I don't have time to build such compound (for now) but here is how the algorithm could be done :

- Get the polygonal description and the point position of the source to copy.

- Build an array with a size equal to this polygonal description array multiplied by the number of copies

- Set this array (the tricky part) using some magic modulo tricks.

- Same thing for the point position array.

- Set a Create Topo with those two arrays.

I'm pretty sure that designing a copy polymesh this way would be very fast. And it would be a very good exercice for all the TD's intersting in learning ICE Modeling ;).

Hint : This design looks really similar to the "Create Extrusion Along Strands" compound.

ICE Modeling give a very a deeper level of control without coding. Now we need some more high level compounds to expose this flexibility to the artists.

Cheers

Guillaume Laforge

________________________________
From: softimag...@listproc.autodesk.com [softimag...@listproc.autodesk.com] on behalf of Malcolm Zaloon [mzal...@gmail.com]
Sent: April 26, 2011 7:44 AM
To: mailgrah...@gmail.com; soft...@listproc.autodesk.com
Subject: Re: ICE Modeling speed (or lack of?) : Scatter Geometry


Thanks for explanations Guillaume!
Pure copy will be very interesting node.... ;)

winmail.dat

Sebastian Kowalski

unread,
Apr 26, 2011, 11:38:25 AM4/26/11
to soft...@listproc.autodesk.com
ha! thats where the real fun happens.

Sebastian Kowalski

unread,
Apr 26, 2011, 12:51:50 PM4/26/11
to soft...@listproc.autodesk.com
i went the easy way and filled up the arrays by iterating thru a repeat node.
unbelievable slow, but i got the basics down.
so tomorrow i'll try to build the description mathematically.
afraid i wont get a sec of sleep tonight.

Guillaume Laforge

unread,
Apr 26, 2011, 1:06:07 PM4/26/11
to li...@sekow.com, soft...@listproc.autodesk.com
Don't use the Repeat node ! The goal is to be faster, not slower than the current "Create Copies" compound :).

And go to sleep tonight. There are no hurry at all ;).

________________________________
From: softimag...@listproc.autodesk.com [softimag...@listproc.autodesk.com] on behalf of Sebastian Kowalski [li...@sekow.com]
Sent: April 26, 2011 9:51 AM
To: soft...@listproc.autodesk.com


Subject: Re: ICE Modeling speed (or lack of?) : Scatter Geometry

i went the easy way and filled up the arrays by iterating thru a repeat node.


unbelievable slow, but i got the basics down.
so tomorrow i'll try to build the description mathematically.
afraid i wont get a sec of sleep tonight.

Am 26/04/2011 17:32, schrieb Guillaume Laforge:

Pure copy will be very interesting node.... ;)


The interesting thing with ICE Modeling is that you could build it yourself !

I'm not saying that we should not implement a factory "Polymesh Copy" node (it would be a very good idea in fact) but just that ICE Modeling gives lot of un-expected solutions.

I don't have time to build such compound (for now) but here is how the algorithm could be done :

- Get the polygonal description and the point position of the source to copy.

- Build an array with a size equal to this polygonal description array multiplied by the number of copies

- Set this array (the tricky part) using some magic modulo tricks.

- Same thing for the point position array.

- Set a Create Topo with those two arrays.

I'm pretty sure that designing a copy polymesh this way would be very fast. And it would be a very good exercice for all the TD's intersting in learning ICE Modeling ;).

Hint : This design looks really similar to the "Create Extrusion Along Strands" compound.

ICE Modeling give a very a deeper level of control without coding. Now we need some more high level compounds to expose this flexibility to the artists.

Cheers

Guillaume Laforge

________________________________
From: softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com> [softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com>] on behalf of Malcolm Zaloon [mzal...@gmail.com<mailto:mzal...@gmail.com>]


Sent: April 26, 2011 7:44 AM

To: mailgrah...@gmail.com<mailto:mailgrah...@gmail.com>; soft...@listproc.autodesk.com<mailto:soft...@listproc.autodesk.com>


Subject: Re: ICE Modeling speed (or lack of?) : Scatter Geometry


Thanks for explanations Guillaume!
Pure copy will be very interesting node.... ;)

winmail.dat

Guillaume Laforge

unread,
Apr 26, 2011, 1:41:09 PM4/26/11
to soft...@listproc.autodesk.com
I quickly made a prototype, and yes it is much faster :).

I re-use the compound named "Build MultiExtrusion PackedPolygons" found in the "Extrusion along Strands" one.

This compound duplicate N time a polygonal description without using the Repeat node.

Here is the result of my little test using a source with 64 polygons (instead of 13 like in Malcolm's test, and my machine is not as fast) :

2000 copies : 474 ms

4000 copies : 915 ms

20 000 copies : 4683 ms

Without coding a single line ;). Of course, those timing could be improved with a dedicated Copy Topo node.

If you are interested, here is the scene : http://dl.dropbox.com/u/5533643/Softimage/CreatCopiesFromTopology_prototype_00.rar

I made the hard part. If someone want to build a compound with all the transformation options from this graph, feel free to share it on the web !

Cheers

Guillaume

________________________________
From: softimag...@listproc.autodesk.com [softimag...@listproc.autodesk.com] on behalf of Guillaume Laforge
Sent: April 26, 2011 10:06 AM
To: li...@sekow.com; soft...@listproc.autodesk.com
Subject: RE: ICE Modeling speed (or lack of?) : Scatter Geometry

winmail.dat

Sebastian Kowalski

unread,
Apr 27, 2011, 8:14:45 AM4/27/11
to soft...@listproc.autodesk.com
i couldnt sleep, of course...

slammed something similar together, but mine is still slower than yours.
maybe cause of the transform multiplications i am doing, before writing the vector array.
i have to organize the tree a bit and will post it later as soon as i finish the daily biz.

this was fun. i wont mind for more inspiration in that regard.
some kind of week assignment like helge used to do in the ice childhood ;)


Guillaume Laforge

unread,
Apr 27, 2011, 11:19:27 AM4/27/11
to li...@sekow.com, soft...@listproc.autodesk.com
Yes, I like the idea of those little ICE week workshop on the web too !

The question is where ?
XSI Base, Si-Community, The Area or a dedicated Google group ?

Guillaume

Eric Thivierge

unread,
Apr 27, 2011, 11:26:49 AM4/27/11
to soft...@listproc.autodesk.com
How about a weekly thread on this list?

--------------------------------------------
Eric Thivierge
Technical Director
http://www.ethivierge.com

Guillaume Laforge

unread,
Apr 27, 2011, 11:40:19 AM4/27/11
to soft...@listproc.autodesk.com
>How about a weekly thread on this list?

+1

From: softimag...@listproc.autodesk.com [mailto:softimag...@listproc.autodesk.com] On Behalf Of Eric Thivierge
Sent: Wednesday, April 27, 2011 11:27 AM
To: soft...@listproc.autodesk.com
Subject: Re: ICE Modeling speed (or lack of?) : Scatter Geometry

How about a weekly thread on this list?

--------------------------------------------
Eric Thivierge
Technical Director
http://www.ethivierge.com

On Wed, Apr 27, 2011 at 11:19 AM, Guillaume Laforge <guillaume....@gmail.com<mailto:guillaume....@gmail.com>> wrote:
Yes, I like the idea of those little ICE week workshop on the web too !

The question is where ?
XSI Base, Si-Community, The Area or a dedicated Google group ?

Guillaume

> From: softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com> [softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com>] on behalf of Guillaume Laforge


> Sent: April 26, 2011 10:06 AM

> To: li...@sekow.com<mailto:li...@sekow.com>; soft...@listproc.autodesk.com<mailto:soft...@listproc.autodesk.com>


> Subject: RE: ICE Modeling speed (or lack of?) : Scatter Geometry
>
>
> Don't use the Repeat node ! The goal is to be faster, not slower than the current "Create Copies" compound :).
>
>
>
> And go to sleep tonight. There are no hurry at all ;).
>
>
>
>
>
> ________________________________

> From: softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com> [softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com>] on behalf of Sebastian Kowalski [li...@sekow.com<mailto:li...@sekow.com>]


> Sent: April 26, 2011 9:51 AM

> To: soft...@listproc.autodesk.com<mailto:soft...@listproc.autodesk.com>


> Subject: Re: ICE Modeling speed (or lack of?) : Scatter Geometry
>
> i went the easy way and filled up the arrays by iterating thru a repeat node.
> unbelievable slow, but i got the basics down.
> so tomorrow i'll try to build the description mathematically.
> afraid i wont get a sec of sleep tonight.
>

> Am 26/04/2011 17<tel:26%2F04%2F2011%2017>:32, schrieb Guillaume Laforge:
>
> Pure copy will be very interesting node.... ;)
>
>
> The interesting thing with ICE Modeling is that you could build it yourself !
>
> I'm not saying that we should not implement a factory "Polymesh Copy" node (it would be a very good idea in fact) but just that ICE Modeling gives lot of un-expected solutions.
>
>
>
> I don't have time to build such compound (for now) but here is how the algorithm could be done :
>
>
>
> - Get the polygonal description and the point position of the source to copy.
>
> - Build an array with a size equal to this polygonal description array multiplied by the number of copies
>
> - Set this array (the tricky part) using some magic modulo tricks.
>
> - Same thing for the point position array.
>
> - Set a Create Topo with those two arrays.
>
>
>
> I'm pretty sure that designing a copy polymesh this way would be very fast. And it would be a very good exercice for all the TD's intersting in learning ICE Modeling ;).
>
> Hint : This design looks really similar to the "Create Extrusion Along Strands" compound.
>
>
>
> ICE Modeling give a very a deeper level of control without coding. Now we need some more high level compounds to expose this flexibility to the artists.
>
>
>
>
>
> Cheers
>
>
>
> Guillaume Laforge
>
>
>
>
>
>
>
> ________________________________

> From: softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com><mailto:softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com>> [softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com><mailto:softimag...@listproc.autodesk.com<mailto:softimag...@listproc.autodesk.com>>] on behalf of Malcolm Zaloon [
>
>

winmail.dat

Sebastian Kowalski

unread,
Apr 27, 2011, 11:59:52 AM4/27/11
to soft...@listproc.autodesk.com
yay!

Fabricio Chamon

unread,
Apr 27, 2011, 2:47:41 PM4/27/11
to li...@sekow.com, soft...@listproc.autodesk.com
please do.
(though I will regret for the lost nights)

nebbe...@googlemail.com

unread,
Apr 27, 2011, 3:02:18 PM4/27/11
to soft...@listproc.autodesk.com
This a brill idea, any thing to help artist get more in touch with ice.


Sent from my BlackBerry smartphone from Virgin Media

Guillaume Laforge

unread,
Apr 27, 2011, 3:11:38 PM4/27/11
to soft...@listproc.autodesk.com
Ok, I will try to start a little ICE modeling thread on this list around next week ;).

Btw, it is a shame that Google Wave is dead. It was the perfect media for this kind of thing.

Cheers,

Guillaume

winmail.dat

Guillaume Laforge

unread,
Apr 27, 2011, 3:18:55 PM4/27/11
to soft...@listproc.autodesk.com
> Btw, it is a shame that Google Wave is dead. It was the perfect media for this kind of thing.

Not sure if Google Wave is dead in fact. I can still connect to it...

winmail.dat

Steven Caron

unread,
Apr 27, 2011, 3:25:48 PM4/27/11
to soft...@listproc.autodesk.com
i didn't really care for wave, i hope we decide to keep it on the email list. i feel the pace of wave can be overwhelming at times.

s

Alan Fregtman

unread,
Apr 27, 2011, 3:30:56 PM4/27/11
to soft...@listproc.autodesk.com

Guillaume Laforge

unread,
Apr 27, 2011, 4:13:38 PM4/27/11
to soft...@listproc.autodesk.com
I saw those info about goggle wave too. Sticking to this mailing list sounds better.
winmail.dat

Malcolm Zaloon

unread,
Apr 28, 2011, 8:11:49 AM4/28/11
to soft...@listproc.autodesk.com

Thanks Guillaume. I will try it soon! And I will try to improve on process to build a compound with transform...  ;)

Sebastian Kowalski

unread,
Apr 29, 2011, 4:37:05 AM4/29/11
to soft...@listproc.autodesk.com
btw, here is my attempt for a faster copy polymesh compound.
ive documented it a bit, but i couldnt spare more time on it. so sorry if the copy options come a bit short. anyway, i like my compounds minimalistic..i hate parameter clustering.
you do not have to set a copy count, it will be fed by the input transform array. if you want to.

thanks Guillaume for kick-starting my braincells. at last the problem is not that tricky, its the approach.
first building up empty arrays, then feeding them with series of indices. with that, fetching the initial poly description indicies into a new array, offsetting them. now its sounding so so easy ;p
i hope i will keep that approach in my arsenal, i am just looking into old setups which using a lot of iterations via repeat nodes, only to populate some arrays. maybe these could be optimized a bit.

-sebastian

Faster Copies from Polygon Mesh.rar

Guillaume Laforge

unread,
Apr 29, 2011, 7:40:56 AM4/29/11
to li...@sekow.com, soft...@listproc.autodesk.com
Great :),

I will take a look at it soon !

G.

Guillaume Laforge

unread,
May 1, 2011, 6:02:44 PM5/1/11