Best way to Performance texturing in BGE

I just learned about draw calls, reading in various forums, I learned that its necessary to try an minimize the amount of textures to reduce draw calls. So I basically concluded that it’s more acceptable for common objects to share a common set of textures, but unique objects should be baked to a single, larger material.

I’m a little confused when draw calls happen, Do draw calls take place on each object or just their materials? If I have 100 unique trees that share the same 8 tileable textures. Is that 800 draw calls or just 8 draw calls?

What is a normal material quantity for a landscape? Would 50 materials be too much for a level or scene? Or If I were to ask this question in terms of material memory used vs a draw call ratio, where I call as few materials as possible, whats a good ratio I should be shooting for if not the best as possible.