Author Topic: sbsbaker - from command line tool - is it using caching.  (Read 712 times)

From https://youtu.be/ymRZOvzUKtE?t=629
There is caching feature in SD now. Is the same feature supported by sbsbaker - from command line tool?
Can I bake multiple passes in one command, so that hipoly will be loaded just once?
Right now I bake each pass in with command, so I assume it is loading same hipoly multiple times.

Hi Bartosz,

There is a way of submitting multiple jobs in one command line call but unfortunately you will still be hit with any scene loading related overhead if doing that. We are looking to improve performance soon. Stay tuned.
Let me know if you want more detail around how to submit multiple bake calls in one command line, but again, it won't make a big difference from a performance point of view at this point.

Thx David,  I will wait for this improvement then. No point in merging all commands into one, if there is no speed gain.

This thread got me thinking: https://forum.allegorithmic.com/index.php/topic,19502.0.html
Maybe baking maps in sbsbaker by using json file, instead of command line will have better performance? Is baking ao, normal, id  etc. through json file, uses meshes caching (hipoly meshes are loaded just once )?  Is that how how SD works, by generating json file for sbsbaker, when baking textures?

I think sbsbaker and the Substance Designer Baker are slightly different. Namely I don't think the sbsbaker has received the caching update yet. From how I understand it, using
Code: [Select]
sbsbaker run and supplying a JSON file as an argument will eventually have the same caching mechanic as the SD Baker. At this time however, each itemized baker in the JSON document creates a new bake process and doesn't cache. Maybe I'm doing it wrong, but that's based on my own testing at this point. Someone please correct me if I'm mistaken.

One thing that I've been doing is just pushing multiple subprocess calls for all the bakers I need in parallel. This slightly avoids the caching issue as, A) one baker doesn't have to wait for the other to finish (unless you need the normal map), and B) loading the 3D scene, while still done once per baker, happens in parallel, so it's quite a bit faster than waiting for the first baker to start, load the scene, bake, and write the image to disk before completely reloading the scene again.

So I saw new update is up 2018.1 for command line tools. Does newest release of CLT now support caching for sbsbaker texture baking?

Hi Bartosz,

Unfortunately this part has not been improved yet.
In general the baker should be faster in many cases because of certain code paths are optimized. Also, we now write png files with less compression making the baking faster if you use the png format and it can grow into a pretty big issue when working with higher resolution images.