I got an idea for cycles, to make it work faster for certain materials.
It wouldnt work for all meshes, but not all meshes in a scene play important roles.
So what if the material output node (and world output)
Had an option on how to do the cycling part.
I think its not always required to calculate every pixel, for several materials with not complex textures, or no complex light falling on it or shades, or no complex reflections. For such materials one could take samples of a few pixels in a grid, skip other pixels and for the pixels between do an “average” of the area around the known calculated pixels.
Even for not so complex texture setups; one could do some averaging math.
Based upon the original picture, the mesh on screen, the color difference (as HSL color adjustment space)
That adjustment recipe for the non calculated pixels; could be aplied to the the texture and set on the unknown pixels.
Depending on how many unknown pixels there are that would be the speed increase., 2 times 3 times 8 times etc.
well just an idea.