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.