Is the VFX team applying performance improvements, such as multi-threaded implementations or making things more GPU-intensive, or not spending much time on these now and looking for more visual fidelity first?
TL;DRThe team optimizes as it goes, keeping rough budgets in mind so effects don't look worse later, and then does a final, fuller optimization pass near the end.
Basically, I guess they're asking, do you work on optimizations as you go, or is this something that you wait for at the end? Some things you have to wait for at the end. Some things you can optimize as you go. Some things, if you try to optimize as you go, you're just repeating work over and over again and it's not very effective. What's your case?
That's actually a really good question. So we optimize as we go. We have to do that to an extent, and I'll give you a reason why. Say I was working on the tractor beam and I was using a count of a million particles for a relatively short effect. It might look great. People might look at it and go, yeah, that looks fantastic. Show Chris, show the designers, et cetera. And they're like, yeah, that's definitely what we're looking for, we're really happy with that, thank you, that's great. And then I actually optimize it to the point where I couldn't really use a million particles, I could only use a thousand, and it doesn't look like it did anymore for that reason. Then that's a bad thing. You have to factor in rough budgets while you're making the thing, all the way through the lifetime of working on it. Otherwise, you're just setting unrealistic expectations. So it's somewhere in the middle. You've always got it in your mind. You're always being sensible. But you do still need to have the freedom to get the effect looking as good as you know it needs to be, or you know it can be. And then once you have done that, that's when you will typically do, in a more linear fashion through a pipeline, a more full and final optimization pass. There's all kinds of things, like can you make the particles deterministic instead of non-deterministic, which will be an incremental saving, things like that. So you're somewhere in the middle. You're always thinking of the budget while you're working on the effect, and you will do a final optimization pass towards the end.