Back to search

How is the graphics system going to accommodate large fleet battles, greater than 50 fighters plus multiple capital ships? The lighting budget alone would seem too crazy for that scenario as things are right now.

TL;DRLarge fleet battles are mainly CPU bound, which Gen 12 should help by an uncertain amount, and they plan to render ship interiors cheaply using environment probes to cut lighting cost.

JonasEngine Programmer

Right now, you will very likely be CPU bound in this situation, because so many ships all need to go through the render thread alone. But with the upcoming Gen 12 changes, it's hopeful that the changes we make will very likely improve that, at least from the rendering side, because we can distribute the work more evenly across your CPU cores. And that should help there. But of course, there are other systems besides rendering that you need to keep in mind, for example AI or game code or physics or whatever, that also take their part on the CPU. So Gen 12 will, of course, improve it, but it's hard to say how much.

Ali BrownDirector of Graphics Engineering

I was going to say on the lighting side, because you were mentioning that in the question as well: the lighting tends not to be a big issue in space. Obviously, space is mostly pretty dark. Not too much light going around there. We obviously can potentially have lights on the lasers, but they're also quite easy to LOD out if we were particularly struggling for performance. Ironically, in a big ship battle, one of the things that hurts us quite hard is the interior of the spaceships. We don't have a great way of not rendering the interiors of spaceships. Obviously, if you can't see a window, then we cull them out from very far away. But if you can see into the spaceship, where you have something like the 600i with all its glass, you can't just not render it. You need an approximation of what's inside that room, and that's quite difficult to make. You can't just fade it to black, because if, say, the 600i has a bright interior and it just fades to black, it looks really bizarre. So one thing we were planning: we have these cube maps, we call them environment probes, which are used in the lighting system to capture the environment and then reflect it as a substitute for more advanced ray-traced reflections. So we were planning on using them to render a low-quality version of the room. It would be indistinguishable at the distances we're talking about, but would be the correct colors and have the correct geometry in there. So that would give us a way of basically culling all the interiors of the ships when we've got a massive fleet battle going on and we don't really care exactly how the interior looks, just as long as it's the right color and rough shape of the geometry inside. So that would help, and that would save us the lighting cost of all these interiors. But I think largely it's a CPU issue, like Jonas said. So Gen 12 would definitely address part of the problem. We'd have to profile what the physics and other friends are doing. I'm sure they'd have optimizations to do as well.

JonasEngine Programmer

For everyone who's interested in how these interiors could be rendered, just check out some footage from the latest Spider-Man games on PlayStation, how they do it. That's an example of how you can do it.

Star Citizen Live›Engine & Graphics Q&A·
Published on this date.6 May 2022