Performance Hits on Optional Textures, etc


#1

Many modern games have multiple settings to change to allow for lower end devices to run the game, and higher end devices to see a better looking environment. So, with this, my question is what kind of performance impacts would it have to create this sort of optional looks where textures, particles, etc., of difference resolutions would be loaded in and then the player would choose which they would prefer.
image

I know it usually creates a bigger file size in games, so loading times would be impacted, but since they have to choose between one or the other, and one isn’t being rendered on their device, would the other choice still impact performance while playing the game? The only application for options like this that I’ve seen usually just enable/disable content such as dust or leaves, rather than lowering resolution.


#2

It will definitely make rendering faster, but loading every texture will increase download sizes and memory usage since the textures are cached. The recommended way to go about it is to have a list of asset ids for each texture level in a start place and then only load that set of textures when you join the actual game. This will only use the bandwidth and memory that is necessary for the set of textures. The only downside is that you can’t really change the texture set once you’ve joined the game without running into the problem previously stated.