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

Fix performance issues with graph edge iteration in ShaderGraph #2023

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Commits on Sep 25, 2024

  1. Fix performance issues with graph edge iteration in ShaderGraph

    In complex materials graph and shader graph edge iteration can be
    extremely slow, because some edges may be visited many times
    unnecessarily. This is especially noticable in two functions:
    ShaderGraph::addUpstreamDependencies and ShaderGraph::optimize() .
    
    GraphIterator and ShaderGraphEdgeIterator classes iterate over DAGs
    without marking nodes as visited, which may lead to exponential
    traversal time for some DAGs:
    https://stackoverflow.com/a/69326676
    
    This patch adds an option to skip visited edges in GraphIterator and
    modifies ShaderGraphEdgeIterator so that each edge is visited only once.
    nadult committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    47f9bea View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Configuration menu
    Copy the full SHA
    6b587ac View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2024

  1. Configuration menu
    Copy the full SHA
    9d7e75a View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. Configuration menu
    Copy the full SHA
    799310b View commit details
    Browse the repository at this point in the history