Rigid Body System / Outliner inconsistency with Memory? #72448

Closed
opened 2019-12-14 17:27:02 +01:00 by Theo Gottwald · 12 comments

System Information
Operating system: Windows-10-10.0.18362 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.20

Blender Version
Broken: version: 2.82 (sub 1), branch: master, commit date: 2019-11-26 05:28, hash: 75e85f1c9f
Worked: (optional)

Short description of error
I have recorded it, you can see itin my video starting at 15:58
https://www.youtube.com/watch?v=MIy9layc2KA&t=3013s

As a short description, when the user deletes and recreates objects often in the OUTLINER,
the animation wether does not work at all or works in a crazy way.
I could not reproduce the problem if the outliner is not used.

Exact steps for others to reproduce the error

Please see the video. It shows the problems.

SIDENOTE to developers:
PS: Please think of changes with the TILE-SIZE for Rendering.

   When using multiple graphics cards, CPU-rendered tiles should form together "ONE DEVICE (All CPU-Cores=1 Tile)" not multiple devices.
   Then the graphics cards Tile can be larger. And the CPU can still be used, which does currently not make much sense.

[Please describe the exact steps needed to reproduce the issue]
[Based on the default startup or an attached .blend file (as simple as possible)]

**System Information** Operating system: Windows-10-10.0.18362 64 Bits Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.20 **Blender Version** Broken: version: 2.82 (sub 1), branch: master, commit date: 2019-11-26 05:28, hash: `75e85f1c9f` Worked: (optional) **Short description of error** I have recorded it, you can see itin my video starting at 15:58 https://www.youtube.com/watch?v=MIy9layc2KA&t=3013s As a short description, when the user deletes and recreates objects often in the OUTLINER, the animation wether does not work at all or works in a crazy way. I could not reproduce the problem if the outliner is not used. **Exact steps for others to reproduce the error** Please see the video. It shows the problems. SIDENOTE to developers: PS: Please think of changes with the TILE-SIZE for Rendering. ``` When using multiple graphics cards, CPU-rendered tiles should form together "ONE DEVICE (All CPU-Cores=1 Tile)" not multiple devices. Then the graphics cards Tile can be larger. And the CPU can still be used, which does currently not make much sense. ``` [Please describe the exact steps needed to reproduce the issue] [Based on the default startup or an attached .blend file (as simple as possible)]
Author

Added subscriber: @Theo_Gottwald

Added subscriber: @Theo_Gottwald
Member

Added subscriber: @JacquesLucke

Added subscriber: @JacquesLucke
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

I cannot see the issue immediately in the video. Please describe the issue in concise steps here and make it easy for use to reproduce it.

Make sure you explain the expected and actual behaviors.

I cannot see the issue immediately in the video. Please describe the issue in concise steps here and make it easy for use to reproduce it. Make sure you explain the expected and actual behaviors.
Author

Under some circumstances the Rigid Body system does not clear its cache and tries to use an old baking for the "New Scene".
Sometimes the Rigid Body System behaves wrongly and just moves object in an unforeseable way.
The video shows it, I could reproduce it mostly when deleting stuff in the OUTLINER.
Meanwhile i would sugggest to think about this:
Variables and Baking-Data in the "rigid body world" should be cleared when any object is deleted that belongs to it.
Especially when all objects are deleted. Currently this is not the case.
So if i delete objects in the outliner and create new objects - at another place - they will just follow the old Baking.
Which does not make sense,
I don't know if this will remove the bug (in the video) but it will be an improvement anyway.
Also if i click "Delete baking" and "Bake all", it will not at all times really do that.
Sometimes you will need to "remove Rigid Body World" or make changes to a RB-Object to REALLY get a new baking.
Pressing the Button or calling the Python API should be forcing to clear old Baking Data and also clear old stored variables.

Under some circumstances the Rigid Body system does not clear its cache and tries to use an old baking for the "New Scene". Sometimes the Rigid Body System behaves wrongly and just moves object in an unforeseable way. The video shows it, I could reproduce it mostly when deleting stuff in the OUTLINER. Meanwhile i would sugggest to think about this: Variables and Baking-Data in the "rigid body world" should be cleared when any object is deleted that belongs to it. Especially when all objects are deleted. Currently this is not the case. So if i delete objects in the outliner and create new objects - at another place - they will just follow the old Baking. Which does not make sense, I don't know if this will remove the bug (in the video) but it will be an improvement anyway. Also if i click "Delete baking" and "Bake all", it will not at all times really do that. Sometimes you will need to "remove Rigid Body World" or make changes to a RB-Object to REALLY get a new baking. Pressing the Button or calling the Python API should be forcing to clear old Baking Data and also clear old stored variables.
Member

Changed status from 'Needs User Info' to: 'Needs Triage'

Changed status from 'Needs User Info' to: 'Needs Triage'

Added subscriber: @iss

Added subscriber: @iss

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'

@Theo_Gottwald Can you give us simple .blend file and describe exact steps to reproduce?

Video is really not great way to do this, because it is unnecessary long, you have to pay very close attention where the person is clicking and you have no idea what he does with his keyboard.
Look for example at this report: https://developer.blender.org/T70367

@Theo_Gottwald Can you give us simple .blend file and describe exact steps to reproduce? Video is really not great way to do this, because it is unnecessary long, you have to pay very close attention where the person is clicking and you have no idea what he does with his keyboard. Look for example at this report: https://developer.blender.org/T70367
Author

The Physics System - as it is - is a good start.
Now that i used it for some weeks, i see what it can be used for and where it has weak points.
For beginners its not very userfriendly, mainly because of the problems that i have shown in the video.
Its that the Baking is too permanent and will even survice if you delete all objects in the Scene!
For Pro's the question is another, its rather: "Why does my Physics Baking use more time then the final rendering?"
The answer is possibly "Because its rendered using just 1 CPU Core".
So there could be potential for improvement from these two sides:

  1. Speed up the baking, which is very slow for high quality values like (240/240)
  2. Remove the baking when objects get deleted or get invalid.

As my video shows the current behavior is not good for new users because they will run easily into
"Balls flying everywhere around". And whatever parameter they change - nothing will change,
until you completely remove rigid body world and start the Physics dataset from new.

So i suggest to overlook the Physics in these 2 direction:

  1. How can the baking be speed up in high quality (Is it possible to utilize the GPU here also?)?
  2. If there are objects deleted that are in the "Bake" then the complete Bake should also be deleted. Currently the behavior is not straightforward, not even if you use the buttons "Delete all Bakes" and "Bake all new".
    At the moment i would direct you to the video, but if you see a chance to just "upgrade and rework" the Physics system, this would possibly be a very good idea.
The Physics System - as it is - is a good start. Now that i used it for some weeks, i see what it can be used for and where it has weak points. For beginners its not very userfriendly, mainly because of the problems that i have shown in the video. Its that the Baking is too permanent and will even survice if you delete all objects in the Scene! For Pro's the question is another, its rather: "Why does my Physics Baking use more time then the final rendering?" The answer is possibly "Because its rendered using just 1 CPU Core". So there could be potential for improvement from these two sides: 1. Speed up the baking, which is very slow for high quality values like (240/240) 2. Remove the baking when objects get deleted or get invalid. As my video shows the current behavior is not good for new users because they will run easily into "Balls flying everywhere around". And whatever parameter they change - nothing will change, until you completely remove rigid body world and start the Physics dataset from new. So i suggest to overlook the Physics in these 2 direction: 1. How can the baking be speed up in high quality (Is it possible to utilize the GPU here also?)? 2. If there are objects deleted that are in the "Bake" then the complete Bake should also be deleted. Currently the behavior is not straightforward, not even if you use the buttons "Delete all Bakes" and "Bake all new". At the moment i would direct you to the video, but if you see a chance to just "upgrade and rework" the Physics system, this would possibly be a very good idea.

Changed status from 'Needs User Info' to: 'Archived'

Changed status from 'Needs User Info' to: 'Archived'
Richard Antalik self-assigned this 2020-01-26 02:58:27 +01:00

@Theo_Gottwald Thanks for your input, but this bugtracker is not place for lengthy discussions or users to leave suggestions.

Because of high amount of reports we need simple as possible test case. That is exact steps to reproduce and preferably .blend file that exhibits buggy behavior.

We will have to close this report until you can provide test case as described above.

@Theo_Gottwald Thanks for your input, but this bugtracker is not place for lengthy discussions or users to leave suggestions. Because of high amount of reports we need simple as possible test case. That is exact steps to reproduce and preferably .blend file that exhibits buggy behavior. We will have to close this report until you can provide test case as described above.
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
3 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#72448
No description provided.