Am I doing something wrong or is this the unavoidable?

I’ve been stuck on this simple “problem” for days now. I thought that the more objects you have on screen, the slower your frame rate would get but I’m seeing the opposite. When I start a game and zoom in close to an object like a wall or a cube without any texture, I get a noticeable drop in frame rate.

I only notice this on my phone (galaxy S3).

From what I’ve tried so far, it seems to have nothing to do with textures or lighting. It seems that I can load a map with a cube that has no texture and there’s zero lighting in the map so it’s all dark but when you run up against the cube, frame rate still drops!

The material rendering cost is proportional to the amount of pixels that it occupies on screen. A material with 300 instructions, that covers 10 pixels on screen (say a complex eye shader), is going to be cheaper on the rendering than a 100 instruction material that covers the whole screen.

This is not 100% correct, but it’s easier to think about material rendering costs this way. Shaders are Per Pixel after all.

Thanks a lot, I was looking forever for some sort of explanation.