Poor hair editing performance #59077
Labels
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
27 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#59077
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
{F5901764}System Information
Operating system: Windows 10 64-bit 1809
Graphics card: NVidia GTX1080Ti
Blender Version
Broken: 2.80 (sub 35), branch: blender2.8, commit date: 2018-12-08 17:06, hash:
e79bb957fc
, type: ReleaseWorked: 2.79b
Short description of error
Poor performance when editing hair system using particle edit mode.
Exact steps for others to reproduce the error
Added subscriber: @gsurkov
#68136 was marked as duplicate of this issue
#67604 was marked as duplicate of this issue
#67309 was marked as duplicate of this issue
#66850 was marked as duplicate of this issue
#66703 was marked as duplicate of this issue
#60373 was marked as duplicate of this issue
Added subscriber: @lrevardel
Added subscribers: @brecht, @ZedDB
@brecht who to assign this to? I'm unsure if this is a drawing (clement) issue or particle issue.
Added subscriber: @DanielBystedt
As pointed out in #60373, if you turn of interpolated children particles it becomes a lot better (but not as good a 2.79 still)
Added subscriber: @CheesecakeCG
Added subscriber: @hscharitzer
Added subscriber: @Forshu-2
Added subscriber: @DonCoyote
Added subscriber: @netzhang79
Added subscriber: @Joeeuro
Added subscriber: @xinku
Added subscribers: @henrik, @dark999
Added subscriber: @Valouptitloup
Added subscribers: @AvengerJohn, @lichtwerk
Added subscriber: @TomyB
Any progress made on this?
Impossible to work with hair when Multires modifier is added. Last working version was from november 2018.
That's basically the only thing stopping me from switching to 2.8, and yes strange thing that in early builds of 2.8 hair editing was much faster than 2.79
Added subscriber: @SecuoyaEx
I remember an old Gsoc or something like that that had GPU generated children, it was like a modifier. Really cool. I wish we had that, for the viewport and editing. Even if it doesn't match the same seed as the Render and Render uses CPU
It's weird that 2.81 will be out soon, but hair still do not work properly :-(
Well it doesn't crash blender so it's not high priority, but it makes doing animals or anything with fur and hair just broken and not doable
They are adding features like custom color for folders in File Open dialog. How is that a higher priority thing?
I don't get how they pick what's important and what's not. We are still stuck in 2.79 because of this hair bug.
Yeah, was a bit surprised seeing roadmap for 2.81 they're planning to add pretty big and awesome features while we can't do fur or hair ><
There were other bugs in 2.79 like disconnecting hair not working with modifiers, devs said that the particle system needs a full on rewrite so they're not gonna fix that. So maybe we'll havta wait till they do that? I donno, for now we just gotta bug developers to fix it>:3
The plan for 2.82 is to rip out the entire particle system and replace it with a new one. So issues like this will probably not be worked on until the new system is in place.
Tbh, I see the particle system being replaced, but this will not really include hair [at least not in a first step, I might be mistaken, but I'm not aware of anything related to hair really in the works...], so if time permits, this should still be looked at... [that is my opinion at least...]
It's a shame that every time something is suggested, it's always turned down if it looks like it will interfere with a future deep systemic change. The problem is that those deep systemic changes take a long while to come to fruition or never happen at all. Think of all the modifiers that are in the burner because the modifier system is always promised to be replaced. A lot of times not having a feature in the present hurts Blender more than dealing with maintaining that feature through systemic changes in the future.
On top of that, will hair performance improvements really be that interfering or hard to maintain with the future hair object+nodes system? Or a weld modifier with the future node system for that matter? Judging by the kind of performance bottlenecks Pablo Dobarro is able to find, I wouldn't be surprised if there were other places where doing small stuff like reducing brush updates or excesive loops helps.
Delaying features for systemic changes is not a silver bullet either. Sometimes features get cut because it's not feasible to put it back with the new system in time (RIP Ghosts and DupliFrames), so if you risk losing old features, might as well risk losing new features too.
If it were by me, the burden of proof would fall on the developer to provide a clear roadmap and a good design document for a systemic change if he wants the privilege to halt new features.
Added subscriber: @nokipaike
out of curiosity, is this a slow or acceptable performance?
I want to check how much hardware is dependent
fur.mp4
That's not acceptable, basically not working performance, on i7 8700k and Vega 56 have the same fps, even though in earlier versions of blender 2.80 it was working perfectly fine
Tbh, I can edit the hair from
FurBall.blend
with much better performance than the video [linux, i7-6700, 970m, 435.21 drivers], simple children have no lag at all, interpolated just a tiny bit...Will run some test against 2.79 tomorrow...
This sphere thing is not a good example of this issue (it doesnt reflect what happens with true sculpted character with multires on). Unfortunately i can't share my scene file online, but i'll try to make a screen recording.
hair_bug.mp4
Scene works fine in 2.79, but is not usable in 2.80
Enjoy the Silence... :-)
Yes, that looks horrible.
Is there a file you can share, that has a similar setup [seems like there is multires involved as well?]
Preferrably saved from 2.79 so this is easy to compare results?
Just so we have something reproducable? [like I said, FurBall is not much of an issue on my machine... (and thats a laptop)]
Can you show your performance? Maybe it works fine on linux for some reason, but not on windows.
It is definitely slower than 2.79, just not that drastic (I can comb 10.000 hairs with 10 visible children without lag, starts getting bad with 25 visible children)...
#59077.blend
Trying to do some profiling now...
It seems for me, that it's not related to count of hair strands or amount of children. I have less than 500 strands on my model and no children and it's still laggy as f*** in 2.8.
Since i can't figure out what makes it slow, then it's hard to make a simplified example scene. I'll keep trying when i get some free time again.
One thing i know, that if i remove or even apply the MultiRes modifier, then it gets fast. Same amount of polygons as with MultiRes on and it's fast. So it has something to do with MultiRes modifier.
Is it not possible to compare last working 2.8 version to new one and see what has changed in hair particles code? I can give you the exact date and hash code for last 2.8 where hair were still working.
That is indeed useful information (multires being the culprit), the last "working" hash would be very good to have, yes
Damn, tested it again and nope, deleting MultiRes didn't make it faster anymore. Im 100% sure it did last time i tried.
Im clueless now. What can it be..
Hash for working 2.8 is
c4c62e6df5
and it's from 2nd of November 2018.This comment was removed by @Forshu-2
@TomyB : what about
#59077.blend
posted above?Tool
>Options
>Viewport Display
>Children
in particle editmode, should make it butter-smooth, no?Could you check this please? If this is still lagging for you, then this might be a Windows thingie? or GPU related?
I can confirm a performance hit somewhere between
c4c62e6df5
and1b870bce85
[Nov 28th] though (inc4c62e6df5
I can go as high as 100 children), checking...Added subscriber: @philipp-14
@philipp-14
I made a short screen recording for you. #59077.blend works smooth when no children enabled.
Also you can see from the 2nd half of the video, that my character also has children turned off and only has a few hair strands, but is still super laggy
I place my hair manually and they have different lengths. Can this length difference cause any issues?hair_bug2.mp4
Thx for getting back about the
#59077.blend
[so the problem seems to be more specific]I cannot reproduce any issues placing hair manually (Add brush):
At this point, it would really be good if we had access to any reproducable test file [isnt there a way for you to reproduce this in a file you can share?]
It's the main character of our project so unfortunately i can't share the file.
Will get back to you if i manage to reproduce this kind of behaviour in another scene. (will keep on testing and trying)
@lichtwerk, what is most likely happening here is that in 2.8 we need to do depsgraph tag to poke hair paths to be re-cached and this involves a copy-on-write operation, which is fine for simple meshes, but once you start having high-poly mesh with a lot of deform groups and such it becomes more and more expensive.
We need to find a way to make particle edit to fully live in original object (similar to sculpt or edit mode), or find a way to avoid full object copy and only copy particles.
The rest seems quite similar in a profiler for 2.7 and latest master.
@Sergey: I am getting the performance hit from this commit
d3c08b1aa6
(is that the one you are talking about?)I am not talking any specific commit, i am talking state of the code as it is now.
I was able to reproduce it with your test scene. I subdivided the cube a couple of times, added Multires modifier and 3 UV maps. Looks like having UV's affects the performance in combination with polygon count. Try it yourself. The more UV maps you add to the cube the slower it gets in 2.8, but it stays buttery smooth in 2.79. The blend file is in attachment. Please test it.#59077-slowIn28.blend
@Sergey Is there any rough ETA on when it's going to be fixed? I don't know anything about coding, but that doesn't seem like a simple fix ><
Now that BCon2019 is over, any feedback on this issue? Or should we stick to 2.79 for fur indefinetly?
Yeesss, would be really nice to finally switch to 2.8 :P
Looks like we've hit the wall with this one. If devs don't communicate anymore then what other options do we have?
Maya :P
But I like blenders grab, shortcuts for almost everything and it's the only render engine which properly supports OpenCL, so I guess we wait.
The devs are busy with a lot of other tasks.
This issue is ackowledged and will be worked on as the time allows.
Sending grumpy comments does not help making this issue solved. Please stick to the topic.
Of course devs are busy. Didn't think that they are not. A comment like "This issue is ackowledged and will be worked on as the time allows." would have been great weeks ago, but everybody just went silent. Also devs have been busy since December 2018. Thats how long this bug has been unsolved. And if no feedback from devs then how should users keep reminding it? By constantly writing "bump" or "still not working" ? We are not grumpy. We just rely on some features and getting it fixed is important for us. But ok, will check back in December 2020 then...
Added subscriber: @Sergey
Added subscriber: @ja-2
I opened the FurBall.blend in version 2.81a (just downloaded), reduced the Hair number to 1500 and set Children to "none".
The only "Particle Edit" tool that works is the "Add". All others (i.e. Comb, Length, Puff, Cut & Weight) don't seem to do anything at all.
Has anybody observed anything similar?
Hmmmm, all tools work fine on 2.81a and 2.82 alpha on my pc
Added subscriber: @madaxel
What is the status of this? The particle edit mode is super slow in 2.82.7
Easy reproduce:
Im on i7-7700HQ and a GTX 1060.
Added subscriber: @Ace_Dragon
Just noting this here.
Brecht is currently working on a dedicated hair object type that will completely replace the current system tied in with particles. The groundwork that will allow for this has already been laid and the actual object type should come after the volume object debuts (which already has seen a lot of progress). Theoretically, a performance leap should come as a natural consequence.
Added subscriber: @Christoph-Feck
Added subscriber: @MohamadFaisalAmir
Removed subscriber: @MohamadFaisalAmir
Added subscriber: @pauanyu_blender
Added subscriber: @MeshVoid
Added subscriber: @BoomRaccoon
Removed subscriber: @BoomRaccoon
Added subscriber: @AlexanderWilms
Added subscriber: @DeadDrag0
The new hair system is slower and harder to use the the old hair system. Please fix it and make it faster the the old system
Added subscriber: @sanek2005
@DeadDrag0 what UV map of the model? if there are overlaps there, going beyond the range 0...1, then there will be problems