What is "deterministic execution"

Using material merge, there’s an option for “deterministic execution”
the hover text says “make algorithm deterministic, at cost of speed”
And the documentation says the same thing.

I can imagine via context clues that it’s “executing” the material merge by “determining” some data based on other data. What I don’t know is what is determined by what. Or even better, could someone help me understand why I would use it, or what benefit it offers?

P.S. For the record, Material Merge, and InstaLOD is an incredible tools that work remarkably well. I’m very grateful for it. Sorry if I sound annoyed, I’m just trying to learn InstaLOD and am confused about this function.

Hello @Cramble,

When executing a mesh operation repeatedly with the same settings on the same input mesh, the results can vary slightly, although they are guaranteed to have the same visual quality.

The Deterministic Execution option ensures that the output meshes and textures are always identical for a specific input mesh. For example, it allows you to achieve an identical polygon layout during optimization or the same UV layout when unwrapping. For the material merge operation, the resulting textures are always the same.

If you are not using InstaLOD in a pipeline that requires consistently identical results, we recommend keeping this feature disabled, as it does incur additional processing time.

If you have any questions, feel free to ask!

Thanks!

1 Like