I haven’t yet tried to figure out the EEVEE shader compilation process, but before I waste time (particularly as I’m not proficient in C), could anyone tell me if it would be possible to only calculate groups once, so that when connecting something to one of the group’s outer socket’s, the only recalculation that takes place is to append the new node’s code into the previous state?
I’m guessing it should be possible to avoid recalculating the group, because it’s just changing the source of data flowing into the group from a group slider, to a node output (the type of data would remain the same)
I’m thinking calculate the group once per Blender session, unless changes are made to the group internally, and then any material which uses that group, would use that initially calculated data as well. At the moment, if I have 10 materials all using the same group, but each material has different nodes connected to the group, then the group is recalculating 10 times (taking around 5 mins)