Envelopes performance hardware dependencies

Discussions about animating in SOFTIMAGE©
wesserbro
Posts: 177
Joined: 27 Oct 2012, 16:05

Envelopes performance hardware dependencies

Post by wesserbro » 03 Nov 2012, 13:52

Hi guys! Right now I'm trying to migrate to softimage, cos I think its very powerfull piece of software and I like it's GUI alot (think its really a piece of art, all that buttons, almoust equal-width panels on each side, colors - all that makes me happy even to just rotate cubes in SI ^))) SI shows greate performace in hadling large amount of poly's, very fast simulation (both native softbodies ans syflex), artist-friendly 3delight connection, ICE and so on.
But... I think its envelope modifier is kinda slow. I'v done some tests and it seams that the bottle-neck on my current system is a CPU frequency of one core (cos its NOT multithreaded , although you may google another (wrong) opinion). I dont say that is "very bad", but I'm going to upgrade my system and just ask you to load an XSIman rigged figure from standart "primitives" , drag his central (star with rounded corners) bone for 5-10 seconds and post here your viewport framerate while doing that (in shaded and opengl modes, single and multiple viewports). And also please add your system configuration (espassialy CPU and graphics card). I would be really appreciated :)
And yes, I know about lowpoly proxies, disabling realtime update in inactive viewports, hardware acceleration of envelopes, "do not recompute normals" button etc.

P.S. Read somewhere, that a man gets 60 fps on a fully riggerd half-a-million character. If envelopes were multithreaded, i could belive that, but in case its not (and its not) that fps is only possible on 6 - 8 GHz CPU core :))),which, i belive doesn't exist. Or maybe its just my overclocked phenom is a piece of bullcr*p B-)

User avatar
origin
Posts: 619
Joined: 09 Jun 2009, 09:59
Location: warsaw

Re: Envelopes performance hardware dependencies

Post by origin » 03 Nov 2012, 15:44

envelope op is multithreaded.
Your framerate is probably slowed down by OGL render of all bones/objects on screen (si gets slow on hundreds of objects visible)
Try this: apply local subdivide op to xsiman to up polys to > 0.5 mil, animate some bones, isolate the xsi man mesh so it's the only visible object and press play.

tests with i7 @ 4ghz and ati 7870
default xsiman: 30 fps shaded/55 fps wireframe, with ice version of envelope = 50/90 fps
default xsiman + isolate: 100 fps shaded/105 fps wireframe
xsiman subdivided + isolate to 670k tris: 46 fps/48 fps, with ice envelope 8/20 fps (????)

btw you can use scene debugger to see what's slowing down your scene

wesserbro
Posts: 177
Joined: 27 Oct 2012, 16:05

Re: Envelopes performance hardware dependencies

Post by wesserbro » 03 Nov 2012, 16:03

origin wrote:envelope op is multithreaded.
Your framerate is probably slowed down by OGL render of all bones/objects on screen (si gets slow on hundreds of objects visible)
Try this: apply local subdivide op to xsiman to up polys to > 0.5 mil, animate some bones, isolate the xsi man mesh so it's the only visible object and press play.

tests with i7 @ 4ghz and ati 7870
default xsiman: 30 fps shaded/55 fps wireframe, with ice version of envelope = 50/90 fps
default xsiman + isolate: 100 fps shaded/105 fps wireframe
xsiman subdivided + isolate to 670k tris: 46 fps/48 fps, with ice envelope 8/20 fps (????)

btw you can use scene debugger to see what's slowing down your scene
Hi, Origin. Thanks for reply! Iv tried isolation, and it doesnt give me any boost. 30fps as is. And about multithreaded envelop op. How do you explain this:
4 cores - 30 fsp;
2 cores (disabled via bios) - 30 fps;
overclocking from 3ghz to 3,5ghz - 35 fps (linear dependencу)

User avatar
origin
Posts: 619
Joined: 09 Jun 2009, 09:59
Location: warsaw

Re: Envelopes performance hardware dependencies

Post by origin » 03 Nov 2012, 16:35

cause ogl is taking most time to update the frame (few % of cpu cycle) just like I wrote.
if cpu cycle is xx ms and most of time its not used cause xsi is drawing a frame, overall cpu usage will be low.
Maybe your gfx card is old.
I can see all cores are in use in task manager when playing the anim, with overall cpu use of 40% with 670k tri xsiman.
you cpu usage will go *down* with a) many objects in viewport b) all viewports updating on interaction/playing preference turned on c) slow gfx card d) etc
also make sure your selection/scene info are off, they can have huge impact on fps

wesserbro
Posts: 177
Joined: 27 Oct 2012, 16:05

Re: Envelopes performance hardware dependencies

Post by wesserbro » 03 Nov 2012, 22:36

Ok, lets leave envelope op :). Though I dont understand how "bad" graphics card can cos linear framerate boost while CPU overclocking: cputime+gputime = time_to_draw_a_frame, gputime has no impact on cputime (though percentage is changing).

What can be the reason that I have 30 fps while animation playback and only 23 while manipulating bones\controls? Is this somehow connected with handling mouse events? Can I increase callback intervals without rewriting a mouse driver?

User avatar
Mathaeus
Posts: 1778
Joined: 08 Jun 2009, 19:11
Location: Zagreb, Croatia

Re: Envelopes performance hardware dependencies

Post by Mathaeus » 03 Nov 2012, 23:35

wesserbro wrote:
What can be the reason that I have 30 fps while animation playback and only 23 while manipulating bones\controls? Is this somehow connected with handling mouse events? Can I increase callback intervals without rewriting a mouse driver?
Might be lazy evaluation, if something is selected, there's a chance for different evaluation. Also, if just a part of rig is animated, there's chance for faster playback.
From my small experience, from XSI 4 to today, only hardware settings which has some influence is vertical sync - you want it off, all the time.
The rest belongs to rig, envelope, mesh... Let's say the fastest is rig created only of constraints and expressions, using standard SI kinematics. Honestly I don't know does XSIman uses SCOPs, or not. But I think envelope isn't only operator on XSI man....
More deformers, influencing one vertex, is slower than less, so on.

About graphic card, yes it's faster if you have a good one.

Maybe it's good idea to try on 'fresh' machine, free of your interventions.

wesserbro
Posts: 177
Joined: 27 Oct 2012, 16:05

Re: Envelopes performance hardware dependencies

Post by wesserbro » 04 Nov 2012, 10:00

origin wrote:
tests with i7 @ 4ghz and ati 7870
default xsiman: 30 fps shaded/55 fps wireframe, with ice version of envelope = 50/90 fps
origin. was that a result for a single viewport? Because after reinstalling a driver on my videocard now im getting
default xsiman: 38 fps shaded (animation playback). and that is with my Phenom @ 3,3Ghz (the stable frequency) and ati 5670, which is much worse(and much cheaper) than yours 7870.

I'm totally confused. Now I'm afraid to upgrade my system... But I still need to, because manipulation framerate is still 23-24fps, and i dont feel comfortable while animating (which is dragging\rotating controllers and bones, not playbacking the animation) with that framerate.

Please, guys, dont be shy. Even if you dont know much about the reasons of increasing\decreasing framerate, just load that damn xsiman :) and drag his star-like bone and post here framerate in shaded mode (+your system config).

User avatar
origin
Posts: 619
Joined: 09 Jun 2009, 09:59
Location: warsaw

Re: Envelopes performance hardware dependencies

Post by origin » 04 Nov 2012, 12:35

its ~32 while dragging controls and about 55fps while playbacking shaded view, default xsiman, with single viewport updating.
btw my old 280gtx is performing the same as 7870 with scenes with hundreds of objects, but on other hand viewing multimillion zbrush model in xsi is up to 30x times faster on Ati.

if you run scene debugger, you will see that half of time is spent on updating 'bottom teeth' object, and hiding it will give you +100% boost in fps.

if you're not new to this industry you know that 3d job is always about workaround, hacks, proxys etc and hardware is always too slow

wesserbro
Posts: 177
Joined: 27 Oct 2012, 16:05

Re: Envelopes performance hardware dependencies

Post by wesserbro » 04 Nov 2012, 13:07

thanks again, origin :) Yes, I know that 3d is all about workarounds, just trying to figure out what do I need more for my current needs: 6-cores i7 (cos im render-guy too) or some quadro\firepro card.

P.S.
Please, guys, dont be shy. Even if you dont know much about the reasons of increasing\decreasing framerate, just load that damn xsiman :)
just want to say, that was related to people who read this thread and dont reply. Trying to get some statistics on hardware responsibility here :)