Upgraded a project for testing from 4.7.2 to 5.4 .
In the attemp to get similar backed lighting to 4.7.2 I started computation of lightmaps with “very low resolution” for an initial test. I “just” took about 12hours, I let it finish just because I wanted to see if the output was going to be that epic… It wasn´t it was miles behind Beast, with pretty dull output, but the worst was the Outrageous number of drawcalls, I assume now these are named Batchs. From 2K to 200K!! yes 200, no a typo. I was like what??? performance totally destroyed.
After hitting the “clear” but the performance came back. I dont know if to test the lighting I’ve also to convert all my legacy shaders to the new one, but the first impression has been like OMG what is going on.
This scene takes like 10-20min to bake in Beast. Is an urban scene of about 600x600m.
I would like to know if “big” scenes are an issue gor GI or if using legacy shaders was what broke the output. Or any other tips. I captured the stats box but forgot to save and not in the mood for another 12hours of nonsenseness unless someone points a big fault from my part on the setup.
That’s a pretty high Indirect Resolution value - bounced light is typically very low-resolution, so you probably do not need to compute it at 1t/m. I’d try dropping it to 0.5 and see what happens to your bake times. (You could even go to 0.05 if you just want ‘preview quality’).
I’d also up the atlas size to (at least) 4096 so that more of your objects can be packed into the same lightmap.
It’s difficult to suggest much more without more details. How many lightmaps were you generating under Beast, and how many are being generated by Enlighten?
I do not recall an outrageous lightmap number in 5.4. I think they where 12 in the default size as I do not recall modifying anything. But the draw calls where skyrocketed.
OK. The things whent faster (a lot) by tweaking the indirect parameter, the output at first was terrible but uping a bit things starter to look better, still far far away from Beast. I came up with an idea. It would be awesome to have a cliping blox that allow to clip just a region of your map so that you can setup the lighting and when you’re happy then recompute all with the actual settings.
I found quite annoying that it bakes eeeeverything. I 4.72 I’ve the bake selected option. I do not whant to bake all the static stuff.
We’re working on a new ‘progressive’ light mapper which is capable of baking only what you’re looking at, in “realtime” (the longer you leave it, the more the quality improves). Hopefully you’ll see something later this year.
So, if you had 10 dual lightmaps under Beast, and 12 under Enlighten, then the batches aren’t breaking due to lightmap indices (which was my initial theory). It’s possible that the Frame Debugger would give you more insight into which things are batching and which are not.
The frame debugger caused the application to freeze as I moved trough the data, I understand it shows what each draw call represents.
I tried to run several times but it kinda hangs, I guess its because the crazy drawcall number.
It is an easy issue to reproduce. Simply download the assets, swap shaders with Legady Difuse, add directional light and bake lighting. Pres play and enjoy
EDIT:
I would switch to 5.x platform if Beast came back, even if it came as an Aset Store addon, without a way to properly lit scenes upgrading feels like going back.