Home Technical Talk

Material IDs vs Textures

polycounter lvl 10
Offline / Send Message
Sythen polycounter lvl 10
So I'm having a little trouble working out the differences between Material IDs and using Textures in terms of optimizations. I'm dealing with Mobile devices (Gear VR) and Unreal Engine 4, and from my understanding - Material IDs separate the mesh giving more draw calls, but using textures, i.e: Separating the materials of a mesh by their texture, gives the added overhead of textures used in memory. 

Which is more efficient? I should probably run some tests, but I was also thinking maybe someone here has already come up against this.

Replies

  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    There is no clear and easy answer about this. Texture streaming also plays a big role in this question. What I would suggest to do, is to do some profiling, and then balance it out for what you need.

    you can use the streaming and profiler related console commands to print out informations about the used resources / size of things / rendering time.



  • monster
    Options
    Offline / Send Message
    monster polycounter
    Sythen said:
    ...Material IDs separate the mesh giving more draw calls...

    Not necessarily. You could have two Material IDs with the same material plugged in. In game these would be one draw call. Same with textures you could have the same texture on two materials. In game this would be two draw calls for one texture file.

    I suggest disregarding Material IDs in terms of optimizations. They are only a 3ds Max method of applying materials. Instead think in terms of actual materials/shaders being used. A good idea for mobile is to use just one material per model, and atlas as much as possible. When I worked on Temple Run 2, the entire world was on one texture because we needed the game to run on the oldest Android phones available.
Sign In or Register to comment.