Page MenuHome

Fix T73799: Quick Effects should show immidiate results
ClosedPublic

Authored by Aaron Carlisle (Blendify) on Feb 14 2020, 6:32 PM.

Details

Summary

I would consider this a regression, quick effects are meant to be quick and allow immediate feedback.

Fixes T73799

Diff Detail

Event Timeline

This brings the following error upon Object > Quick effects > quick liquid.

Traceback (most recent call last):
  File "/Users/me/blender-build/build/bin/Debug/Blender.app/Contents/Resources/2.83/scripts/startup/bl_operators/object_quick_effects.py", line 527, in execute
    obj.modifiers[-1].domain_settings.cache_type = 'REPLAY'
AttributeError: 'ParticleSystemModifier' object has no attribute 'domain_settings'

location: <unknown location>:-1

Also, for smoke, maybe my machine is too lame to render it fast enough, it is not quick.

I will investigate the context issue we could also reduce the domain resolution which could speed up results. We could also make both these changes to the defaults instead of only affecting quick settings

Ankit Meel (ankitm) requested changes to this revision.Feb 24 2020, 8:10 PM

(was passing by :p)

This revision now requires changes to proceed.Feb 24 2020, 8:10 PM
Ankit Meel (ankitm) resigned from this revision.Feb 24 2020, 8:10 PM
This revision now requires review to proceed.Feb 24 2020, 8:10 PM

All in all I agree, there should be immediate results when using a quick effect! As you mentioned, the patch could also include a smaller domain resolution. Feel free to add this to the patch.

I would like to improve the "Replay" itself a bit more before making it the default (e.g. when changing a parameter of the mesh, only the mesh cache should get deleted). Once that's implemented we can merge this patch!

release/scripts/startup/bl_operators/object_quick_effects.py
527

Try to move these two lines above obj.modifiers[-1].domain_settings.domain_type = 'LIQUID'. Should fix the error when using "Quick Liquid".

Sebastián Barschkis (sebbas) requested changes to this revision.Mar 6 2020, 3:09 PM
This revision now requires changes to proceed.Mar 6 2020, 3:09 PM
  • Fix error message
  • Change resolution default to 32 (The same as old smoke) which have a speedup of about 4x (~4 FPS vs. 16 FPS on loading cache)

Tested on R7 3700x and RTX 2070

Aaron Carlisle (Blendify) marked an inline comment as done.Mar 23 2020, 9:40 PM

The 'Replay' cache was improved a bit more in 7de86ad61fb1 and I would say this can go in now!

This revision is now accepted and ready to land.Apr 15 2020, 4:42 PM

@Sebastián Barschkis (sebbas), shouldn't this be the default cache type always, not just for quick effects?

@Brecht Van Lommel (brecht) Yes, that would probably make most sense.
@Aaron Carlisle (Blendify) from my side, you could add this change to the diff. Or just land it as is and we can adjust it afterwards.

Update patch to change the default cache method to always be replay

Note that I have kept the domain resolution changes in favor of faster playback.