Search Issue Tracker

Feature Request

Votes

0

Found in [Package]

12.1.10

15.0.4

16.0.0

Issue ID

SGB-468

Regression

No

ShaderGraph window is redrawn every frame when the window is visible and idling

Package: Shader Graph

-

How to reproduce:
1. Open the project “IN_33213”
2. Open “New Shader Graph” Shader Graph
3. Select the “Custom Shader” Node in the New Shader Graph window
4. Make sure the Graph Inspector tab is visible the same as the “Custom Shader” Node
5. Press Windows → Analysis → Profiler
6. Set “Target Selection” to “Edit Mode”
7. Make sure GPU is enabled in the Profiler Modules
8. Record the Profiler for 3-5 sec
9. Search for “MaterialGraphEditorWindow.Paint” in Overview

Expected result: Shader Graph window is not redrawn every frame
Actual result: Shader Graph window is redrawn every frame

Reproducible with: 2021.3.19f1, 2022.2.8f1, 2023.1.026
Not reproducible with: 2023.1.0b6, 2023.2.0a3
Couldn't reproduce with: 2020.3.45f1, 2021.2.0a21 (due to compiler errors)
Fixed in: 2023.1.0b1

Reproducible on: Windows 10 Pro

  1. Resolution Note:

    Custom Function Nodes represent a black box of user defined functionality. For us to be able to faithfully represent the logic they encapsulate, we must assume that the preview will always dirty. This works exactly the same way for any nodes downstream of the Time Node.

    By default, we update these timed nodes every 30 fps when subgraph editor window is focused (selected), every 10 fps when it is not selected but still visible, and 2 fps when it is neither.

    There's clearly some further improvements we should make here, but doing so would require us to look harder at how ShaderGraph like tools leverage the editor UI's rendering capabilities.

    I'm marking this as a feature request, as we have ideas on how to improve it, but it's outside of the scope of a bug fix or incident.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.