Hello everyone,
I'm making this game in OpenGL and I'm experiencing some problems. Essentially I have 100 dynamic moving turrets which are composed of two meshes (the gun and the body) with total of 532 triangles per turret. For one turret it takes 2 draw calls to render. I also have implemented shadows, so I have to render the scene twice. This adds up to 400 draw calls per frame. My GPU is Intel HD 620 and it can only render the game at ~37 frames per second.
BUT, if I render 1000 static trees which are composed of 400 triangles in two draw calls (one for rendering shadow depth map texture, and one for the main scene) I get constant 60FPS
So my questions is: is this draw call bottleneck possible? I read somewhere on the forums that 8400GS (or similar) can handle 2000 draw calls per frame with respectable framerate. And knowing that Intel HD 620 is more powerful, it makes no sense to me. But I also read that this is limitation of integrated graphics chips which in my case only have 64MB of dedicated memory, while 8400GS has 256MB. I would also like to know how is video memory related to the number of draw calls it can handle per frame?
I would really like to hear your opinions and views on this matter.
Thanks for the replies in advance
EDIT: I realized that drawing depth map texture into framebuffer object takes a big bite out of the performance of the game. But still I would expect better performance than that