Maniphest T39341

Cycles Rendered view laggy while using particles
Closed, Resolved

Assigned To
Sergey Sharybin (sergey)
Authored By
Gwenael Le Page (gwentiv)
Mar 22 2014, 12:36 PM
Tags
  • Blender 2.70
  • BF Blender
  • Cycles
Subscribers
Gwenael Le Page (gwentiv)
Lukas Tönne (lukastoenne)
Sergey Sharybin (sergey)
Thomas Dinges (dingto)

Description

Hello,

Here is a link to a video showing the lags I am experiencing using Blender 2.70:
https://www.youtube.com/watch?v=AxM2gzGCGjg&feature=youtu.be
I recommend you watch the short video to get an idea of the problem before testing the file

I join the file here:
http://glp.lescigales.org/it/blender/Vase%20C%c3%a9ramique.blend

You'll find 3 layers: the bottom one has a vase and a plane, lamp etc.
Layer 2 has a mesh with an unapplied modifier stack and particles system on top of it.
Layer 1 has the same mesh and the modifier stack has been applied one by one from top to bottom, and there's still the particle system on top of that.

When entering cycles rendered view, everything is smooth with layer 1 turned on.
But if ytou switch to layer 2 and disable layer 1, you'll find the viewport to be 1. much slower to build (BVH thing and Copy to device, etc…) and 2. completely laggy. Impossible to pan and rotate fluidly.

With blender 2.69, it made no difference, both versions of the plant where equally fluid.

Revisions and Commits

rB Blender
rBAC Blender Add-ons Contrib

Event Timeline

Gwenael Le Page (gwentiv) created this task.Mar 22 2014, 12:36 PM
Gwenael Le Page (gwentiv) raised the priority of this task from to 90.
Gwenael Le Page (gwentiv) updated the task description.
Gwenael Le Page (gwentiv) edited a custom field.
Gwenael Le Page (gwentiv) added a subscriber: Gwenael Le Page (gwentiv).
Thomas Dinges (dingto) lowered the priority of this task from 90 to 50.Mar 23 2014, 12:54 PM
Thomas Dinges (dingto) added a subscriber: Thomas Dinges (dingto).

Confirmed in the Viewport with Blender 2.70.

Thomas Dinges (dingto) added projects: BF Blender, Cycles.Mar 23 2014, 12:59 PM

Weird thing: On Windows it renders but is slower. On Linux and Mac OS it does not go beyond Sample 1, it constantly refreshes.

Lukas Tönne (lukastoenne) claimed this task.Mar 23 2014, 1:56 PM
Gwenael Le Page (gwentiv) added a comment.EditedMar 23 2014, 3:42 PM

Hi Lukas and Thomas.

First of all , a big thank you for having a look at that, much appreciated.

A detail that may have its importance (at least intuitively I'd say it may have…) is that in the particle system, I chosed to tick the "use modifier stack" option of the "emission" subpanel. As the behaviour is different when the stack is applied or not, I thought that may be of importance.

I will try to reproduce the error on another file and single our if that particular option is relevant in that case.

EDIT: no success. The test file I've made showed no particuliar impact from that specific toggle.

Lukas Tönne (lukastoenne) added a project: Blender 2.70.Mar 23 2014, 4:07 PM
Sergey Sharybin (sergey) claimed this task.Mar 23 2014, 4:53 PM
Sergey Sharybin (sergey) added a subscriber: Lukas Tönne (lukastoenne).
Lukas Tönne (lukastoenne) added a comment.Mar 24 2014, 10:36 AM

This is broken since the threaded despgraph update (rB709041ed0b7e1848068c9d53543ed114229a9f5b)

Seems to be caused by crappy particle check in the modifier:
https://developer.blender.org/diffusion/B/browse/master/source/blender/modifiers/intern/MOD_particlesystem.c;f8c247f21b8e489750e3847a4a2270c1146cbbc2$182

Somehow when the modifier stack was evaluated in 2.69 it would (imo correctly) use the viewport settings instead of render settings for the modifier stack. I'm actually not sure how this worked, since what Cycles does suggests it would always use the render settings!
https://developer.blender.org/diffusion/B/browse/master/intern/cycles/blender/blender_object.cpp;f8c247f21b8e489750e3847a4a2270c1146cbbc2$449
(1==eModifierMode_Realtime, 2==eModifierMode_Render)

This is the same code in 2.69 and master, not sure what prevented modifiers from using "realtime" settings before.

Further there is some kind of randomness in the skin modifier! For some reason it always generates slightly different vertex/face counts each time it is evaluated. This might be the reason the particle system subsequently updates over and over, because it detects a modified input mesh and re-distributes particles.

Lukas Tönne (lukastoenne) edited this Maniphest Task.Mar 24 2014, 1:16 PM
Lukas Tönne (lukastoenne) changed the task status from Unknown Status to Resolved.Mar 24 2014, 1:16 PM

Closed by commit rB83f2012300ac.

Lukas Tönne (lukastoenne) edited this Maniphest Task.May 12 2014, 4:45 PM