Is switching passes slow as well?
There’s a number of things that make passes slow, number one being partition 
overrides that contain shaders connected on shaderports. You know, where XSI 
has to make duplicate materials on the fly for each modified material?
There is also simply the amount of objects in the scene – each object has some 
info per pass which partition it belongs to – in case of ref models it’s in the 
delta under grouprelations - and it really bloats scenes. Assuming using 
reference models for everything, it’s common to see scenesize triple or 
quadruple, when comparing before and after passes. Don’t take this as a hint 
that reference models are the problem – with objects local to the scene this 
data exists as well, be it hidden, and it slows down the scene as well – it’s 
impact on scene size is just less predictable.
Don’t put thousands of objects in a partition (perhaps with an override to put 
subDs at 0) just to hide them – keep them in the background partition and hide 
that one – it’s a lot less data and faster to update.
Also, analyze the overrides: are there ways to simplify them – and to avoid 
connecting shaders into shaderports? By making sure that all shader nodes are 
named identical and built with the same template structure, the amount of 
overrides could be considerably reduced. Eg, if you have phong1 and phong3 on 
some shaders, an override on phong will not work on them. Rather than building 
overrides that contain changes for many different names, clean out the names.

Think of pass as a recipe that’s run on the entire scene for creating the 
render-ready state for the scene, from its default state. Every partition and 
every override has to be considered and executed for every object – and before 
you know it this results in a lot of work for the software to do, at once, on 
every single switch of a pass. It’s a mega update operation for the entire 
scene.
Building a pass is less complex to handle than duplicating one. (imagine the 
grouprelation data I mentioned above – on “duplicate pass” it has to add that 
data on every single object  – not when creating a new pass, since everything 
is in the default partition)
On Monster In Paris we had scenes that took half an hour to switch passes and 
XSI would just freeze on duplicating passes. When analyzing the scenes nothing 
suspect was found. 
Our solution was rebuilding the scenes. Tools were developed for this and it 
made a huge difference – we ended up doing it on every scene before going into 
lighting. There is tons of hidden data as well as orphaned data (you know: 
“disconnected from scene” data) that gathers in scenes over the course of a 
production. The rebuilding of scenes in its current state will “flush” this out 
– or rather: you will get to the same endresult without all gathered bits of 
garbage. I’ve seen scenesize go down tenfold in cases – and absolutely 
everything was present in the smaller scene. Passes were built in this clean 
scene – through script, and rather than loading a full preset for a pass it was 
reconstructing each pass step by step. Things went smooth from there and we 
didn’t get the extreme slowdowns with passes again – except for a handful 
exceptionally complicated shots – that were just slow and might have been 
impossible without rebuilding them.
Another optimization that was rather important was lowering the amount of 
objects – which could be done by merging static objects with same materials ( 
you know, when every single bolt and screw is modeled as a separate object? ) – 
it made a huge difference for accelerating passes. Too often assets go straight 
from modeling (where they want to be able to tweak and change everything) into 
the rest of the production, without thorough cleanup, consolidation and 
optimization . This comes back with a vengeance in lighting – where output from 
several departments is gathered, and you have to get it to actually render.

Anyway – I know all this does not really help in a direct way. In order for 
passes to remain snappy in complex scenes, you really need to work as clean and 
optimized as you can – and ideally keep passes as the last step, after a 
thorough cleanup. Growing a scene organically, with different artists doing 
things in an almost random order and on an as needed basis – in short the 
freestyle workflow that “nonlinear everything” allows – results in much 
unneeded data and does not play nice with passes. Sanity checking and scene 
rebuilding tools can go a long way in keeping complex scenes manageable. But 
building such tools requires a structured and predictable way for scenes to be 
organized. In a freestyle workflow where every shot is a one-off – you might 
just have to bite the bullet and live with some slowdown.

From: Adam Seeley 
Sent: Monday, September 23, 2013 12:08 AM
To: [email protected] 
Subject: Re: Pass Duplication reallllly slow.

Hi again,

nope... cut it down to 15 or so, still too slow.

Guess I'll have to strip it it see what's going on.
.
.
(stripStripStrip)
.
.
I've stripped it down to nothing.. it's fast to duplicate a Pass again (well, 
there's nothing in the scene).

Scene seems really dirty though,

1. I can't even merge it into another scene without crashing soft.
2. If I search the scene for Models I get about 100 of them, but they're not 
visbile in the Explorer, I can't select them & I can't delete them.
3. Each time I load the scene, one of these Models becomes visible and I can 
delete it. I save the scene & when I reload it, another one of the Models 
becomes visible again.

Mucky stuff and typical for a Sunday evening of course.

Adam.

---------------------

http://www.linkedin.com/in/adamseeleyuk

https://vimeo.com/adamseeley






--------------------------------------------------------------------------------
From: Sebastian Kowalski <[email protected]>
To: "[email protected]" <[email protected]> 
Sent: Sunday, 22 September 2013, 21:54
Subject: Re: Pass Duplication reallllly slow.


75 are are a lot of passes.. maybe its because of that.

Am 22.09.2013 um 22:50 schrieb Adam Seeley <[email protected]>:


  Hi,

  I can make sure all viewports are hidden, but it stills takes it's own sweet 
time.



  Adam.
  ---------------------
  http://www.linkedin.com/in/adamseeleyuk

  https://vimeo.com/adamseeley






------------------------------------------------------------------------------
  From: Sebastian Kowalski <[email protected]>
  To: Adam Seeley <[email protected]>; [email protected] 
  Sent: Sunday, 22 September 2013, 21:30
  Subject: Re: Pass Duplication reallllly slow.


  did you tried to mute every window, or fullscreen the pass explorer? 

  Am 22.09.2013 um 22:20 schrieb Adam Seeley <[email protected]>:


    Hi folks,

    SI2013sp1

    Sorry to interrupt the current B&C intrigue...but.

    I've got a big scene with quite a few Passes (about 75),  but I've hit a 
major slow down when handling them.

    Duplicating a Pass can take aobut 3.5 minutes (I just tried it).

    It doesn't matter how complex the Pass is (I just tested an empty Default 
Pass with both partitions hidden).

    Has anybody had this before or know what specifically might be slowing 
things down?

    Many thanks,

    Adam.

    ---------------------

    http://www.linkedin.com/in/adamseeleyuk

    https://vimeo.com/adamseeley






--------------------------
To unsubscribe: mail [email protected] with subject 
"unsubscribe" and reply to the confirmation email.




--------------------------------------------------------------------------------
--------------------------
To unsubscribe: mail [email protected] with subject 
"unsubscribe" and reply to the confirmation email.
--------------------------
To unsubscribe: mail [email protected] with subject 
"unsubscribe" and reply to the confirmation email.

Reply via email to