Large scenes, lighting and scaling

You've frequently mentioned having too many lights scattered over too large a distance dramatically increases memory usage. Does this mean for large scale environments such as city-scapes and landscapes, we would be better off scaling our models and distances down for better performance? Even if there is only a single light source, such as the sun, but in a large area, such as a city, then only having a single light source matters little since the calculations are based on individual light bounces which are then also based on area...?  

Am I on the right track here?
  • Omar Domenech replied

    I never thought about that in that way. That's a good point and a good rationalization. I'm currently doing a kinda large scene with kinda large buildings I've had to crank up the light intensity a lot and limit the custom distance, but I haven't experience any dramatic slow down or anything. It's all running smoothly. If I started to run into problems then I'd consider extreme solutions. At the moment I'd rather have fidelity when it comes to having everything up to real world scales and maybe taking a hit in performance. That said, I don't know how it would go if instead of city blocks I had to do kilometers and kilometers of cityscapes. I bet some trickery would be in order to save on resources.  

  • Jonathan Lampel replied

    Does this mean for large scale environments such as city-scapes and landscapes, we would be better off scaling our models and distances down for better performance?

    This is a good thought, but I wouldn't necessarily recommend it. If I were to re-record this tutorial, I would leave that line out about the distance. The distance may have an effect, but I really wouldn't worry about it. If you have a large city block with many lights, you can probably decrease the shadow resolution and get a significant optimization as compared to the very marginal gain you may get from scaling the scene. Also, scaling the scene effects how bright the lights should be, and in general could easily overcomplicate things down the road and is probably not worth it. 

    Even if there is only a single light source, such as the sun, but in a large area, such as a city, then only having a single light source matters little since the calculations are based on individual light bounces which are then also based on area...?  

    There are no bounces going on here in Eevee, so I think there's some confusion, but even in Cycles the number of bounces is fixed and the number of samples is based on the camera's resolution and not anything to do with the scene. Remember that in a path tracer, the rays come from the camera and find the lights rather than the other way around. 

    In Eevee, the things I would focus on for performance are the number of lights, the number of lights that cast shadows, and the resolution of those shadows. From there, I would focus on tweaking materials and textures and polygons, which can all have a big impact on performance as well. Scene scale would be at the very bottom of the list. Apologies if I just added confusion by mentioning it.