Hello, i’ve got more of a straightforward technical question. Im making a low poly style game which currently uses 32x32 textures for units ( the game is supposed to be run on mobile). I need one of the units to have a little more details while still having texture sizes as small as possible. Is it more performant to use 2 materials with 32x32 textures or one 128x128 (even though maths suggests 2*32x32 is “cheaper”, there surely is something i didnt take into consideration)? Thanks in advance.
At those small of texture sizes, I’m not sure you will even see a difference, but others may be more experienced with mobile performance.
That might be a thing. Thanks for the reply!
I think textures aren’t so recognized in performance take down as compared to the number of polygons, tris & vertices of shapes, however you should note that some devices have limited support to high res textures, but most of them at the level of 5169(or 4096)*3618 for GLES 3.0, so you must know first which android devices are your game targeting ? before proceeding…or have to handle this using alternative textures of low res, but anyway in the current situation for new android devices that won’t affect the performance
Thanks a lot! That was the answer i was looking for.
Technically it would be more performant to use one 128x128 texture if you can use the same material and try to reduce the number of texture swaps and or draw calls. I don’t think it would measurably change performance in your case though so I would use what is easier.
Yep, probably for anything normal (tiny textures like these for sure), more draw calls is always going to be worse than fewer.
For example, it would probably be even better to have a 2kx2k texture if that were an atlas that let you batch all of your objects into one draw call. Depends on how often they move, etc…
The only thing I notice, is a certain lag when information (mesh buffers or a texture) is uploaded to the graphics card. You will probably not notice any difference between a 32 x 32 and 128 x 128 texture, but, depending on your hardware a 2k x 2k texture may cause noticeable lag. I am not sure whether there is a good way to avoid these lags because you should upload this information in the main thread.
But if literally all of your scene materials were using nothing but that one texture, it’s a one time hit… versus the per frame hit of multiple draw calls.
It’s always a trade off. But even a 1k x 1k texture could hold 64 128x128 texture and 1024 32x32 textures.
Best of all worlds is to figure out the scene requirements and make one or two atlas textures that satisfies that. Batch as able.
I will take a look at it. Thanks