Cycles GPU Texture-duplicate memory Question Lets say we have 1024x1024 PNG texture called Texture.png
I Have multiple materials using the same texture, on import the textures were automaticly renamed to .001 .002 .003 etc.
And Im out of GPU memory

Is Texture.png and Texture.001.png just a single texture in the GPU memory or they are occupiing new space with each instance? 

EDIT: this works on console, but not in practice, images are still there...

import bpy

for img in bpy.data.images:
    print("%s" % img.name)
    if( ".0" in img.name):
        img.name=img.name[:-4]
        print("%s" % img.name)
They are not the same. If I understand you correctly they are imported as different pngs and in that case they have to be loaded to gpu memory to be used. Why don't you reload one copy in node editor for all materials using this texture?

I set up a test scene with 3 cubes. Different materials for each but in the first screenshot the same texture used in the image texture node for each material. In the second screenshot there are copies of the same texture loaded and gpu memory load goes up...

Same texture in 3 different materials.


Different Textures (Copies) in each material.


Here is a screenshot of my node setup. Only one of the three different textures is in us. The other two are marked with no user by a 0 in front.