>     I'm faced with a 3000 module DX network used in a production app which
>must be sped up (too slow).
>
>     What's a good method for identifying the performance bottlenecks and
>optimizing those sections?
>
>     More Info: the network uses DXLink, Interactors, Image windows, and DX
>for network evaluation and caching.  Rendering times for the second pass of
>a sequencer loop (everything cached) are upwards of 3 seconds on a fast
>machine, which is unacceptable to our scientists.
>
>     I have basic function-level profiling data I'm working with, but I
>need something more high-level (module timings, graph execution overhead,
>etc.).
>
>Thanks,
>
>Randall
>


You inherited Mark's Mother of All Nets, I'm guessing? (:-)

I think I understand that it's the final playback that's the bottleneck
from the user's point of view, correct? How about writing multiple frames
out to MIFF (on the first pass) and playing the movie with ImageMagick
"animate"? It's remarkably compact (I think I stuffed 140 or so 640x480
frames into a 10Mb package once). Your reasonably fast machine can probably
play at video rates with a reasonably large image (640x480 or so, I'd
guess), at least for short bursts.

Other than that, all I can say is DX's script-level iteration is beastly
slow compared to a compiled version. I tossed a module together a while
back that replaced an in-net Get-Set iteration (2000 loops) that took about
1 minute to complete; the module (by contrast) ran in "real-time", i.e,
instant update as the user clicked to provide a new input to the iterator.
So there's definitely hope if you want to locate loops and rewrite them as
modules.

Chris Pelkie
Vice President/Scientific Visualization Producer
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850
[EMAIL PROTECTED]

Reply via email to