Texture Resolution Switch node (is it possible)?

So I was thinking about something today that could be useful. I like using 8k textures. I don’t like having to wait for a lot of 8k textures to load into the viewport.

So I’m wondering if there is anyway to make a node setup that acts as a switch that happens at render time so that you can have different resolutions of render texture vs display textures and only have them load at the appropriate times. I hate waiting for 8k textures to load and reload in the display. I thought about using a mix node and grouping it to itself and then just add it in as the last pipeline for every texture resolution. The bottom can be high res textures and the top can be low res textures. That way you have only one node to switch since it would be instanced.

The problem is that I don’t think this does anything for the display (I think). Doesn’t it still have to process the high resolution texture in the background and load it in, then see that the low resolution texture has precedence? Then the render would also have to load in both textures.

This would be a really nice feature in the render panel with an accompanying updated image texture node; a render radio button to checkmark saying that you want to use maximum resolution or minimum resolution and built into the image texture node is the low resolution and high resolution pathways to your files. High resolution images are ignored until the render button is pressed and only loaded for the render. The low resolution images persist but are never loaded into the render process.

I suppose I could just make 2 scenes for low res and high res but a streamlined version would be sweet.

SIDE QUESTION: Can you pin a single node to the node window while being able to also load other Materials into the texture window? Right now, it seems that pinning just makes it so other materials won’t load in the node window.

I tried the switch made from a color mix node set to 0 and 100 for switching and didn’t see much difference in viewport in a small scene. Not sure about memory management this way since Cycles needs to load the images at render time onto the GPU ram along with the bvh - I think what you are needing implies a rebuild when the switch is made.

I pinned the node window to the current, and this works as expected - it pins the view to the current and then no matter what you do in the other viewports, the current node window shows that pinned material node tree. You could open another node window and operate on another, pinned as well.

Thanks. I figured as much! Well, I guess multiple scenes will have to do.