[Solved] what is draw call exactly

Hello, what draw call term includes. don’t be feared of exhaustive lists

1 Like

You’re honestly better off googling this for yourself. There are extensive amounts of information on this topic because it applies to all game engines.

Google is your friend :slight_smile:

This isn’t really my area of expertise, but one draw call more or less means to render one mesh or material. So 1 mesh with 1 material equals 2 draw calls (one for the mesh and one for the material). A mesh with 3 material slots equals to a total of 4 draw calls.
There are other things that adds draw calls, but by keeping the amount of visible meshes and materials to a minimum you’ll get a good base for your optimization since draw calls could get expensive.

You should read this:
https://simonschreibt.de/gat/renderhell/

1 Like

Well, as far as Unreal

In simple terms it’s just a command from the CPU to the GPU that tells it what to render and how.

yeah i googled all these meshes, materials, and S. Schreibt things already. the thing is there’s so much info about this, that the good information is flooded under a tsunami of infos . but i think jonimake globally answered the question. it corresponds to what i was waiting for. thank guys.

1 Like

Thanks to everyone for telling him to Google it. This thread is a top result on Google right now and is completely useless. This is a forum. Either contribute useful information or don’t respond.

8 Likes

globally,

a mesh is a drawcall
a mesh texture is a drawcall. 1 mesh and 1 texture = 2 drawcalls. 1 mesh + 2 textures = 3 drawcalls
a colision included into a mesh isn’t a drawcall. an colision taken outside the mesh is

to avoid drawcalls you need to go modular. as the engine has the particularity to batch all same meshes that use the same material instance into one drawcall. This is why you see all the marketplace stuff is modular stuff

There is something I’m curious about for optimization, when one material is used by multiple different meshes the material is 1 drawcall for all mesh or multiplied by the number of different meshes just like individual material? because the material is referenced to the same texture data

this is what an Epic games programmer (Palermo) says in one of Epic’s videos:
same mesh + same instanced material = all the meshes will be batched into one. So 1 draw call
different meshes + same material = one drawcall per mesh (several drawcalls)

1 Like

So, if I have a mesh with 1 material and 10 textures, it needs 11 drawcalls to render?
Would it be better to have one 8k texture which is holding all textures in one, while the single textures had only 2k?
Or would this be another problem because of video memory?

Anyone have an answer to this? I have modular meshes, some with 4 to 7 Material slots. My main body has like 8 Mat slots. And 1 to 6 modular mesh parts go over my main body.

So what is better for a game/player - have a lot of draw calls with the many mat slots?
Or combine the texture parts of items into a giant 8K texture > 1 Master Mat, but would still need 10 MIs (to use specific zones of the 8K texture). And this would cost the player more harddrive space + RAM to run.

This post was my first result on my search engine. Thanks for the help 4 years later

1 Like