I’m currently working on a game with A LOT of Image Textures (around 4500 image textures total, some repeated), since almost every corner in the game is unique with a lot of detail. I’m worried that this may cause higher loading times in lower-end pcs. If someone has experience regarding this, it’d be nice to know, and if there’s any way to optimise it.
Textures will be streamed in while playing, meaning that you can load into the game quickly but not see all images immediately. Those images will be loaded in the background and displayed as soon as they are ready. If an image is used in an area outside the streaming radius (if you are using any of the streaming features) those images won’t be loaded until you get closer to them, which makes it faster to load nearby areas.
Larger images will also take longer to load because well… there is more ‘image’ to load. Generally you should keep textures as small as possible without losing any important details. If your image is never going to take up more than 200x200 pixels on your screen then the image should not be larger than that size. This ensures you do not lose any detail but still speed up load times
Something important to keep in mind when working with many and/or large textures is that they take up a lot of memory. Especially mobile phones only have a limited amount of memory (a few gigabytes at most I think), so if you are using too many textures your game will crash on that hardware. This is why keeping textures small enough is very important.
If you are reusing the same image many times, they will only be loaded into memory once. So there are no issues with using one image a thousand times. Memory wise, there is no difference between using an image only once or hundreds of times.