Regression: GPU subdivision - Mesh does not immediately count viewport statistics #98339

Open
opened 2022-05-23 18:37:12 +02:00 by Sun Kim · 18 comments
Contributor

System Information
Operating system: Windows-10-10.0.19043-SP0 64 Bits
Graphics card: Radeon RX 570 Series ATI Technologies Inc. 4.5.14800 Core Profile Context 22.3.1 30.0.15002.1004

Blender Version
Broken: version: 3.3.0 Alpha, branch: master, commit date: 2022-05-22 18:26, hash: d095fcd6b4
Worked: blender-3.3.0-alpha+daily.d095fcd6b417

I didn't do rigorous bisecting but I suspected this is caused by 163f6a17e4 so I tested with a daily build before it was committed.

Short description of error
Mesh does not immediately count in viewport statistics with GPU subdivision enabled.

stats_with_subd.jpg

Exact steps for others to reproduce the error

  • Open startup file.
  • Add Subdivision Surface modifier to the cube
  • See the mesh is not counted towards viewport stats
  • Deselect the cube (or do some other action related to viewport display, for example, ticking viewport display options), and see now it is counted towards viewport stats
**System Information** Operating system: Windows-10-10.0.19043-SP0 64 Bits Graphics card: Radeon RX 570 Series ATI Technologies Inc. 4.5.14800 Core Profile Context 22.3.1 30.0.15002.1004 **Blender Version** Broken: version: 3.3.0 Alpha, branch: master, commit date: 2022-05-22 18:26, hash: `d095fcd6b4` Worked: blender-3.3.0-alpha+daily.`d095fcd6b417` I didn't do rigorous bisecting but I suspected this is caused by 163f6a17e4 so I tested with a daily build before it was committed. **Short description of error** Mesh does not immediately count in viewport statistics with GPU subdivision enabled. ![stats_with_subd.jpg](https://archive.blender.org/developer/F13100897/stats_with_subd.jpg) **Exact steps for others to reproduce the error** - Open startup file. - Add Subdivision Surface modifier to the cube - See the mesh is not counted towards viewport stats - Deselect the cube (or do some other action related to viewport display, for example, ticking viewport display options), and see now it is counted towards viewport stats
Author
Contributor

Added subscriber: @persun

Added subscriber: @persun

#102464 was marked as duplicate of this issue

#102464 was marked as duplicate of this issue

#98733 was marked as duplicate of this issue

#98733 was marked as duplicate of this issue

Added subscribers: @kevindietrich, @mano-wii

Added subscribers: @kevindietrich, @mano-wii

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

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

Thanks for the report and bisecting.
Reverting 163f6a17e4 "solved" the problem.
So I'll assume it's really a regression introduced in by that commit.

Cc. @kevindietrich

Thanks for the report and bisecting. Reverting 163f6a17e4 "solved" the problem. So I'll assume it's really a regression introduced in by that commit. Cc. @kevindietrich
Germano Cavalcante changed title from Mesh does not immediately count in viewport statistics with GPU subdivision enabled to Regression: GPU subdivision - Mesh does not immediately count viewport statistics 2022-05-24 17:39:41 +02:00

I can't seem to be able to reproduce (Linux/NVidia), I doubt it is a driver thing, probably depending on the system, some updates are merged or missing/not caught? At least to me it is instant, either by using the shortcut (e.g. ctrl+1) or by adding the modifier manually, the stats immediately update.

I can't seem to be able to reproduce (Linux/NVidia), I doubt it is a driver thing, probably depending on the system, some updates are merged or missing/not caught? At least to me it is instant, either by using the shortcut (e.g. ctrl+1) or by adding the modifier manually, the stats immediately update.

To me this does not seem like a high priority issue. It can be solved on the user side, and does not break badly anything. I would guess that the stats are updated between the time the subdivision modifier delegated evaluation to the GPU, but before the draw code updates the counters. So an update might be missing, but I still can't reproduce.

To me this does not seem like a high priority issue. It can be solved on the user side, and does not break badly anything. I would guess that the stats are updated between the time the subdivision modifier delegated evaluation to the GPU, but before the draw code updates the counters. So an update might be missing, but I still can't reproduce.

It looks like it's only reproducible on Windows.
I tested it on a Mac and it worked there without problems.

Sometimes, the first time, and rarely, on windows the statistics appear as well.
GIF.gif

It looks like it's only reproducible on Windows. I tested it on a Mac and it worked there without problems. Sometimes, the first time, and rarely, on windows the statistics appear as well. ![GIF.gif](https://archive.blender.org/developer/F13123454/GIF.gif)

Added subscriber: @Vyach

Added subscriber: @Vyach
Author
Contributor

Possibly related. Sometimes going through undo history causes tri stat to display very high and unlikely numbers like 65534, 784983302, 1844674407370 (likely trying to display 2^64 but cut off). It seems this happens when the history has actions related to selecting other objects but I'm not sure.

numbers.mp4

I've never encountered this when GPU subdivision is disabled.

Possibly related. Sometimes going through undo history causes tri stat to display very high and unlikely numbers like 65534, 784983302, 1844674407370 (likely trying to display 2^64 but cut off). It seems this happens when the history has actions related to selecting other objects but I'm not sure. [numbers.mp4](https://archive.blender.org/developer/F13305749/numbers.mp4) I've never encountered this when GPU subdivision is disabled.
Member

Added subscribers: @mOOngaze, @PratikPB2123, @mod_moder

Added subscribers: @mOOngaze, @PratikPB2123, @mod_moder

In #98339#1366358, @kevindietrich wrote:
To me this does not seem like a high priority issue. It can be solved on the user side, and does not break badly anything. I would guess that the stats are updated between the time the subdivision modifier delegated evaluation to the GPU, but before the draw code updates the counters. So an update might be missing, but I still can't reproduce.

How is it solvable on the user side?
The data does not refresh on my windows machine after clicking or doing something else in the viewport. It consistently shows wrong numbers.
It is broken since 3.2 in my testing although 3.2 exhibits different bug behaviour than later versions (Check my merged report)
Going between 0 and 1 subdivision works as expected (cube 0 subdiv = 6 faces <-> 1 subdiv =24 faces), but :

  • With 2 subdivisions the facecount stays the same as subdiv level 1 (24)
  • Going back to 1 subdiv it shows 96 faces.
  • Data stays erroneous until subdiv level is set to 0

regards,

> In #98339#1366358, @kevindietrich wrote: > To me this does not seem like a high priority issue. It can be solved on the user side, and does not break badly anything. I would guess that the stats are updated between the time the subdivision modifier delegated evaluation to the GPU, but before the draw code updates the counters. So an update might be missing, but I still can't reproduce. How is it solvable on the user side? The data does not refresh on my windows machine after clicking or doing something else in the viewport. It consistently shows wrong numbers. It is broken since 3.2 in my testing although 3.2 exhibits different bug behaviour than later versions (Check my merged report) Going between 0 and 1 subdivision works as expected (cube 0 subdiv = 6 faces <-> 1 subdiv =24 faces), but : - With 2 subdivisions the facecount stays the same as subdiv level 1 (24) - Going back to 1 subdiv it shows 96 faces. - Data stays erroneous until subdiv level is set to 0 regards,
Author
Contributor

Interestingly I also see that it's broken from 3.2.

Also I noticed that Spreadsheet does not update its stats either when GPU Subdivision is used. But unlike viewport stats Spreadsheet update seems broken from 3.1.

SpreadsheetGPUSubdiv.mp4

Quick test with versions.

Version Viewport Stats Spreadsheet
3.1.0 working broken
3.1.2 working broken
3.2.2 broken^ broken
3.3.2 broken^ broken
3.4.1 broken^ broken
3.5a broken^ broken

^: At least for me, this is solvable by the workaround (click elsewhere) above. Spreadsheet issue is not solvable as long as GPU Subdivision is in effect.

Interestingly I also see that it's broken from 3.2. Also I noticed that Spreadsheet does not update its stats either when GPU Subdivision is used. But unlike viewport stats Spreadsheet update seems broken from 3.1. [SpreadsheetGPUSubdiv.mp4](https://archive.blender.org/developer/F14086432/SpreadsheetGPUSubdiv.mp4) Quick test with versions. | **Version** | **Viewport Stats** | **Spreadsheet** | | -- | -- | -- | | 3.1.0 | working | broken | | 3.1.2 | working | broken | | 3.2.2 | broken^ | broken | | 3.3.2 | broken^ | broken | | 3.4.1 | broken^ | broken | | 3.5a | broken^ | broken | ^: At least for me, this is solvable by the workaround (click elsewhere) above. Spreadsheet issue is not solvable as long as GPU Subdivision is in effect.

Report this as other error

Report this as other error
Author
Contributor

In #98339#1465155, @mod_moder wrote:
Report this as other error

By the way since you confirmed the report about spreadsheet, can you tell me if you're experiencing this viewport stats issue too? I'm wondering how much these two issues are related.

> In #98339#1465155, @mod_moder wrote: > Report this as other error By the way since you confirmed the report about spreadsheet, can you tell me if you're experiencing this viewport stats issue too? I'm wondering how much these two issues are related.

Yes, i can confirm this report too

But i'm not sure that both issles related

Yes, i can confirm this report too But i'm not sure that both issles related
Philipp Oeser removed the
Interest
EEVEE & Viewport
label 2023-02-09 15:12:37 +01:00
Author
Contributor

I found that this only happens when the stats at the status bar is active.

When only the stats on viewport overlay is active, the stats work correctly. But if the stats at status bar is active, both overlay and status bar display wrong numbers.

GPUSubdivStats.mp4

Tested with 3.3.2, 3.5, and 3.6, so probably it's not like some commit in between partially fixed this.

I found that this only happens when the stats at the status bar is active. When only the stats on viewport overlay is active, the stats work correctly. But if the stats at status bar is active, both overlay and status bar display wrong numbers. [GPUSubdivStats.mp4](/attachments/20708337-7e50-4368-9aac-e82924d58c38) Tested with 3.3.2, 3.5, and 3.6, so probably it's not like some commit in between partially fixed this.
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
No Assignees
7 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#98339
No description provided.