Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ShaderUI : Fix poor scaling in _ShaderPath #5894

Merged

Commits on Jun 11, 2024

  1. ShaderUI : Fix poor scaling in _ShaderPath

    The `ShaderNetwork.shaders()` function builds a Python dictionary containing copies of all the shaders in the network. And in several places, we were calling that at least once per shader, giving us extremely poor scaling for certain large production networks with around 700 individual shaders. This was bad enough that some users reported avoiding the dialogue entirely.
    
    This commit replaces calls to `shaders()` with individual calls to `getShader()`. That gives around a 300x speedup when walking the entire _ShaderPath hierarchy for a problematic network and querying the `shader:inputs` property for each parameter found. This makes the shader dialogues for ShaderTweaks and ShaderQuery usable again.
    johnhaddon committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    40591ce View commit details
    Browse the repository at this point in the history