Hi guys!
Time to report back on these questions
@KEngelstoft : Thank you for the clarifications! We ended up buying the two 6 core xeons plus 64 GB of DDR4 ram. Expensive setup, but we got a nice boost, now bake times are around 1/3 to 1/4 of the original time.
One thing I forgot to mention, the scenes we are working on are a bit heavy on the geo, we must have well over 30M tris.
As for resource usage with the new setup:
-It will clip the 12 cores at 100% for a while on some stages (noticed at Light Transport and Final Gather), usual is around 20%-60%, with some 100% peaks, but those are instant.
-RAM has gone up to 36,6 GB, but no higher
-HDD access is usually around 12% max on some stages, a bit more when he writes the maps to disk of course.
And now I have a couple more questions:
-As I understand your explanation and for what I’ve read, lightmap baking is basically a render operation. If that is correct and considering our current setup, we must have our page file on a fast disk (such as an SSD or 10k RPM drive). What sort of disk R/W operations should we expect besides page-file and map writing and what impact would they have on our baking times?
-What would be the recommended size (poly-wise) per geo for a good quality/bake time balance? I’m asking because we are working with ArchViz and sometimes clients send us “render models” with over 500k polys, that are a pain to import, specially if we have to use the “generate lightmap UV” setting. We are working on a optimization pipeline for this, since that type of geometry gets unmanageable very fast. So it would be great to get some pointers on a “safe” threshold for model complexity, this way it would be easier to balance detail and performance.
-We have a 6GB DDR5 card on this machine, and just by opening this complex scene, we get a 80% card memory usage rate. This is basically due to the shaded viewports or does Unity “reserves” this memory for the play-mode as well?
-I’ve noticed that if one “breaks” all the prefab connections on a scene, baking times are reduced by whole lot. I don’t want to be misleading, but we tested this specific situation and before prefab break, the times were about 60 to 70 seconds, after break, 9 to 10 seconds. We have a number of theories on the team about this behaviour and It could be vital to know the exact reason. Can you clarify this for me? Why does breaking a prefab connection makes baking faster?
-You’ve mentioned subdividing surfaces to create more systems with less dependencies between them, I feel that this operation could be very interesting for solving other issues we are having. Could you clarify about when should this be considered, e.g at what size is a plane “too big” (in Unity squares)?
-About the long triangles tip you gave me, I can assume that the more long triangles I have on a mesh, the harder tessellation will be, thus more expensive will the bake get (and the end-result will be more unpredictable), is this correct?
-Finally and about tesselation: this is the stage by which unity “wraps up” geometries in a imaginary, gapless grids that will become the lightmaps, correct? Could complex geometries lead to tessellation errors, that in turn could produce the famed “blotching” issues (by overlapping or misplacing objects in the map for instance)? Or this a completely different issue?
Again, thank you for the time and for the help!