Page MenuHome

Quick Fur particles enter in infinite loop and crash
Closed, ArchivedPublic

Description

Windows 10 64 bits - Compiled last source code at 28/05/2019 10:35:00

  1. Open default Cube scene
  2. Select Cube
  3. Add Quick Fur
  4. Change number of particles to 200.000

I have done some debug and I have seen the time is used in the following functions:

We have tested in two different PCs and it's only compiling the last source code, but not using the buildbot of today.

Details

Type
Bug

Event Timeline

I tested today's master in windows, i7-5960x, without problem:

version: 2.80 (sub 72), branch: blender2.7, commit date: 2019-05-27 19:48, hash: rB89207df7222a

But @Antonio Vazquez (antoniov) y @Oscar 'Nebe' Abad (OscarNebeAbad) tested the same and they get hangs

Also tested master recently build on linux mint, without trouble, in the 2990WX, it's a weird behaviour

BTW: those two are two different pc's from the ones mentioned by Antonio

I have seen the problem is only using "Quick Fur". If you add the particle system, set to hair and 200.000 works.

I tested on today Win 64 build on i7 7700HQ, and also happens to me. Even I got 1 particle on screen if I create just 1million or 4million particles in it.

It seems the problem is related to children generation, when trying to generate 100.000 particles * 10 children on viewport it hangs

It seems that the same thing worked fin in 2.79, the problem seems to be related to child particles

Juan Gea (juang3d) added a comment.EditedMay 28 2019, 11:29 AM

ok, so in 2.8 is also working, so this may be just the result of having faster particle creation and now having a much slower children creation, which in reality it's not slower, it's that now it's more obvious, I'm not sure, still doing some more tests though

Juan Gea (juang3d) added a comment.EditedMay 28 2019, 11:43 AM

It seems to be related to some kind of capping, with 100.000 particles * 100 interpolated children all CPU's are being used ina multithreaded task, while with 100.000 * 10 interpolated children it seems that is not running the multithreading, so it's doing a single threaded task

100.000 * 100 inteprolated:

100.000 * 10 interpolated:

Sebastian Parborg (zeddb) lowered the priority of this task from Needs Triage by Developer to Needs Information from User.Jun 13 2019, 2:31 PM

I can't reproduce the infinite loop and crash. Is this still an issue?

Antonio Vazquez (antoniov) closed this task as Archived.EditedJun 13 2019, 4:37 PM
Antonio Vazquez (antoniov) claimed this task.

I think we can archive because the reason in the children particles and the number is very high. Really, this is more a ToDo to improve Child particles creation and multithreading, but not a bug.

@Juan Gea (juang3d) and I were looking at the code but we have not found the problematic lines yet.

Yes, I have not found the problem yet, still looking at particles code when I have some time, I would like to do some proper debug and profiling as Antonio did to find if I found the bottleneck, but I don't think it's a bug, it's just something to be improved.