Geometry nodes related severe performance penalty with file upgraded from previous version of blender - symptoms disappear after disabling and re-enabling the geometry node modifiers. #96003

Closed
opened 2022-02-24 00:38:37 +01:00 by Mr Chocolate Bar · 13 comments

System Information
Operating system: Microsoft Windows 11 Pro - 64-bit - Version=10.0.22000

┌────────────────────────────────────────────────────────────────┐
│ * Hardware Information:                                        │
│   - GPU: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2                 │
│   - GPU Driver Version: NVIDIA Corporation 4.5.0 NVIDIA 511.79 │
│   - CPU MaxClockSpeed=3187                                     │
│   - CPU Name=12th Gen Intel(R) Core(TM) i9-12900K              │
│   - CPU NumberOfCores=16                                       │
│   - Total System RAM: 34.088476672 GB                          │
└────────────────────────────────────────────────────────────────┘

Blender Version
Broken: 3.1.0 ec5bbebf3ee1
Worked: 3.0.0 f1cca3055776

Blender Executable Location: C:\Users\olliv\Desktop\Olliver\programs\Blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\blender.exe

Short description of error
So today I encountered a bug where a blend file first created in 3.0.0 f1cca3055776 which was upgraded 3.1.0 saw severe performance issues related to a specific set of geometry node modifiers.

The symptoms would only appear if I was either selecting objects in the viewport, was in solid view or wireframe view.

The symptoms would disappear by disabling and again enabling viewport visibility for a set of geometry node modifiers and no symptoms seem to re-appear after restarting the blend file afterwards if you save your file after enabling/disabling the modifiers.

To demonstrate (Sorry in advance for the lengthy video) :
94UVeHJkek.mp4

To give some history on the file, it was first created in Blender 3.0.0 f1cca3055776 (build hash) where I created the geometry node trees and modifiers that glitched out. I believe the bug appeared at first when I opened the file in 3.1.0.
So if I were to make a guess based on that, hence my issue title as I believe the issue could be caused by some form of geometry nodes related cashing that gets reset once you disable/enable viewport visibility. If this is the case, an appropriate fix would probably be to on file open, check if the file was last saved with the same blender version and if it wasnt reset the cache).
NOTE: however that Im mostly guessing that this was the cause here, its perfectly possible that the issue started appearing for other reasons 😅 So take my words with a grain of salt.

Unfortunately I dont have any 3.0.0 copy of the file on my disk anymore, so I can not experiment to see if the issue always re-appears when opening a 3.0.0 file in 3.1.0

Exact steps for others to reproduce the error

  • Download the blend file attached
  • On Blender 3.1.0 Beta, open the attached file
  • Switch to solid view.
  • Check the performance by selecting some objects
    mysterius performance issue.blend

And to "fix" the issue, select the wireframe cube object in the center or your viewport and disable the modifiers, then re-enable them.

The issue may seem insignificant for some as its easily fixed by disabling/enabling your modifiers, but as an unknowing end user it was difficult for me to figure out that this particular modifier was the cause.

**System Information** Operating system: Microsoft Windows 11 Pro - 64-bit - Version=10.0.22000 ``` ┌────────────────────────────────────────────────────────────────┐ │ * Hardware Information: │ │ - GPU: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2 │ │ - GPU Driver Version: NVIDIA Corporation 4.5.0 NVIDIA 511.79 │ │ - CPU MaxClockSpeed=3187 │ │ - CPU Name=12th Gen Intel(R) Core(TM) i9-12900K │ │ - CPU NumberOfCores=16 │ │ - Total System RAM: 34.088476672 GB │ └────────────────────────────────────────────────────────────────┘ ``` **Blender Version** Broken: 3.1.0 `ec5bbebf3ee1` Worked: 3.0.0 `f1cca3055776` Blender Executable Location: `C:\Users\olliv\Desktop\Olliver\programs\Blender\blender-3.1.0-beta+v31.ec5bbebf3ee1-windows.amd64-release\blender.exe` **Short description of error** So today I encountered a bug where a blend file first created in 3.0.0 `f1cca3055776` which was upgraded 3.1.0 saw severe performance issues related to a specific set of geometry node modifiers. The symptoms would only appear if I was either selecting objects in the viewport, was in solid view or wireframe view. The symptoms would disappear by disabling and again enabling viewport visibility for a set of geometry node modifiers and no symptoms seem to re-appear after restarting the blend file afterwards if you save your file after enabling/disabling the modifiers. To demonstrate (Sorry in advance for the lengthy video) : [94UVeHJkek.mp4](https://archive.blender.org/developer/F12884749/94UVeHJkek.mp4) To give some history on the file, it was first created in Blender 3.0.0 `f1cca3055776` (build hash) where I created the geometry node trees and modifiers that glitched out. I believe the bug appeared at first when I opened the file in 3.1.0. So if I were to make a guess based on that, hence my issue title as I believe the issue could be caused by some form of geometry nodes related cashing that gets reset once you disable/enable viewport visibility. If this is the case, an appropriate fix would probably be to on file open, check if the file was last saved with the same blender version and if it wasnt reset the cache). NOTE: however that Im mostly guessing that this was the cause here, its perfectly possible that the issue started appearing for other reasons 😅 So take my words with a grain of salt. Unfortunately I dont have any 3.0.0 copy of the file on my disk anymore, so I can not experiment to see if the issue always re-appears when opening a 3.0.0 file in 3.1.0 **Exact steps for others to reproduce the error** - Download the blend file attached - On Blender 3.1.0 Beta, open the attached file - Switch to solid view. - Check the performance by selecting some objects [mysterius performance issue.blend](https://archive.blender.org/developer/F12884772/mysterius_performance_issue.blend) And to "fix" the issue, select the wireframe cube object in the center or your viewport and disable the modifiers, then re-enable them. The issue may seem insignificant for some as its easily fixed by disabling/enabling your modifiers, but as an unknowing end user it was difficult for me to figure out that this particular modifier was the cause.

Added subscriber: @Olliver

Added subscriber: @Olliver
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

Hi, Thanks for the report. I simplified your file and I think issue is related to GN generated attributes: #93440 (Viewport performance drops drastically after switching from atributte visualization to solid view)
Will close this as duplicate. Feel free to comment if there is misunderstanding. I'll reopen the report in that case.
#96003.blend

Hi, Thanks for the report. I simplified your file and I think issue is related to GN generated attributes: #93440 (Viewport performance drops drastically after switching from atributte visualization to solid view) Will close this as duplicate. Feel free to comment if there is misunderstanding. I'll reopen the report in that case. [#96003.blend](https://archive.blender.org/developer/F12885145/T96003.blend)
Member

Closed as duplicate of #93440

Closed as duplicate of #93440

In #96003#1313198, @PratikPB2123 wrote:
Hi, Thanks for the report. I simplified your file and I think issue is related to GN generated attributes: #93440 (Viewport performance drops drastically after switching from atributte visualization to solid view)
Will close this as duplicate. Feel free to comment if there is misunderstanding. I'll reopen the report in that case.
#96003.blend

Thanks Patrik. I dont seem to get any performance penalty related issues with the blend files provided in that issue - at least not with my copy of 3.1.0. Also, I am not using any geometry node related attributes in the node tree causing the issues (so if its related, then its related to GN generated attributes that automatically generates)! In fact I dont get any performance downgrade in the file you attached in this issue either! Downloading my own file however - again displays the very same symptoms. Interestingly I dont see any performance issues if I try opening the same file in 3.0.0

This is the node tree of the modifier causing the issue (as you can see, unlike the node trees in the other issue, Im not using any attributes) :

image.png

> In #96003#1313198, @PratikPB2123 wrote: > Hi, Thanks for the report. I simplified your file and I think issue is related to GN generated attributes: #93440 (Viewport performance drops drastically after switching from atributte visualization to solid view) > Will close this as duplicate. Feel free to comment if there is misunderstanding. I'll reopen the report in that case. > [#96003.blend](https://archive.blender.org/developer/F12885145/T96003.blend) Thanks Patrik. I dont seem to get any performance penalty related issues with the blend files provided in that issue - at least not with my copy of 3.1.0. Also, I am not using any geometry node related attributes in the node tree causing the issues (so if its related, then its related to GN generated attributes that automatically generates)! In fact I dont get any performance downgrade in the file you attached in this issue either! Downloading my own file however - again displays the very same symptoms. Interestingly I dont see any performance issues if I try opening the same file in 3.0.0 This is the node tree of the modifier causing the issue (as you can see, unlike the node trees in the other issue, Im not using any attributes) : ![image.png](https://archive.blender.org/developer/F12885206/image.png)
Member

Changed status from 'Duplicate' to: 'Needs Triage'

Changed status from 'Duplicate' to: 'Needs Triage'

Added subscriber: @Diogo_Valadares

Added subscriber: @Diogo_Valadares

I feel like most of the lag is being created by the realize instances, if you mute that part the viewport still a bit laggy but much less than with the realize instances, It just don't make sense why it doesn't lag on eevee

2022-02-24 11-27-35.mp4

Also, there are not attributes on the geometry, but there are attribute nodes in the shaders, I have absolutely no clue where the attributes are comming from(in fact the attribute nodes are returning nothing), but they are also the reason why the viewport is lagging, which is the same way #93440 is happening

probably the problematic node may be the uvmap being called from the attribute node instead of the own UVMap node(I'm gessing this is necessary in this case because after realizing the instances, the object loses the UVMap if its called from the UVMap node)
image.png

If you delete the attributtes nodes from the shader, then reload the geometry nodes you will not get the laggy viewport anymore

I feel like most of the lag is being created by the realize instances, if you mute that part the viewport still a bit laggy but much less than with the realize instances, It just don't make sense why it doesn't lag on eevee [2022-02-24 11-27-35.mp4](https://archive.blender.org/developer/F12885627/2022-02-24_11-27-35.mp4) Also, there are not attributes on the geometry, but there are attribute nodes in the shaders, I have absolutely no clue where the attributes are comming from(in fact the attribute nodes are returning nothing), but they are also the reason why the viewport is lagging, which is the same way #93440 is happening probably the problematic node may be the uvmap being called from the attribute node instead of the own UVMap node(I'm gessing this is necessary in this case because after realizing the instances, the object loses the UVMap if its called from the UVMap node) ![image.png](https://archive.blender.org/developer/F12885637/image.png) If you delete the attributtes nodes from the shader, then reload the geometry nodes you will not get the laggy viewport anymore

Added subscriber: @mano-wii

Added subscriber: @mano-wii

It is preferable to follow the bug report convention as described in submission template and guidelines.
So developers familiar with the template will know better where they want to look for specific information.
I will edit and description...

It is preferable to follow the bug report convention as described in [submission template and guidelines](https://developer.blender.org/maniphest/task/edit/form/1/). So developers familiar with the template will know better where they want to look for specific information. I will edit and description...

In #96003#1320337, @mano-wii wrote:
It is preferable to follow the bug report convention as described in submission template and guidelines.
So developers familiar with the template will know better where they want to look for specific information.
I will edit and description...

Good initiative 👍Looks better now indeed

> In #96003#1320337, @mano-wii wrote: > It is preferable to follow the bug report convention as described in [submission template and guidelines](https://developer.blender.org/maniphest/task/edit/form/1/). > So developers familiar with the template will know better where they want to look for specific information. > I will edit and description... Good initiative 👍Looks better now indeed

Changed status from 'Needs Triage' to: 'Resolved'

Changed status from 'Needs Triage' to: 'Resolved'
Germano Cavalcante self-assigned this 2022-03-10 15:37:27 +01:00

I reproduced this bug in the latest official release, but not the latest daily build, so it appears the bug has been fixed already.

Please try the latest daily build: https://builder.blender.org/download/

If the problem persists, please let us know so we can re-open the report. Don't forget to mention the specific version you tested again.

I reproduced this bug in the latest official release, but not the latest daily build, so it appears the bug has been fixed already. Please try the latest daily build: https://builder.blender.org/download/ If the problem persists, please let us know so we can re-open the report. Don't forget to mention the specific version you tested again.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#96003
No description provided.