ucupumar / ucupaint

Ucupaint is Blender addon to manage texture layers for Eevee and Cycles renderer.
GNU General Public License v3.0
874 stars 31 forks source link

Feature request: Reduce shader compilation frequency #122

Open squiddingme opened 3 weeks ago

squiddingme commented 3 weeks ago

Right now every time a change is made in Ucupaint while previewing with Eevee, it incurs a costly shader recompile that can hang the entire interface for a second or so depending on how complex the shader is. You can avoid this by previewing in Cycles, but this isn't always ideal.

Since shader compilation in Eevee is currently unavoidable, maybe delaying shader compilation (or if that's not possible, delaying reconstructing the shader node tree) until a few seconds after the user has stopped making changes to the Ucupaint layers could help. This way, the user can, for example, quickly set up a bunch of masks (e.g. bevel + noise + ramp for edge wear) without Blender seizing up each time a small change is made. The option should probably be configurable in case people don't want it or want to increase it for slower systems.

ucupumar commented 3 weeks ago

I'm not sure how to implement that kind of thing. Maybe you can prototype it if you know how to do it. I usually go to solid mode if I want to make a lot of changes in my setup.