Why is my framarate so bad?

I’ve been typing a bunch of code for a game I’m creating. However, when testing some simple AI code I found my frame rate was already going down to 30-40.

So I went and traveled the internet for some hours and did the following:

  • Used the profiler to find what was giving problems; rendering being the only one that stuck out, together with vSync.
  • Used to frame debugger to find out what was going on. Here found that over half my draw calls where actually from the main canvas (which is quite large but nothing extreme, maybe 100 children in total)
  • I removed things from the scene as much as possible, only leaving the player on a tiny platform.
  • Building and running the game as Windows stand alone.
  • Using a batching script (even though there is nothing to batch really)

Each of these resulted in pretty much exactly the same frame rate of 30-40 frames. Only making the screen smaller helps but at this point you can hardly see anything and the frame rate is barely 60.

I haven’t done anything with the lights yet.
All that is in my scene is the player, a plane to stand on, 2 NPCs, a directional light, an empty GameObject with some controller scripts and the Canvas. Nothing else, so now what can I miss here that is giving such bad frame rates?

I saw people asking for people’s specs in other posts: I’m on a laptop, I7-4700MQ 2.4ghz with GeForce GTX 765M and 16GB RAM. Unity 5

Your screenshot shows 428.8 fps

Well, if the framerates drops when you enlarge your screen, that simply means that your GPU is simply not strong enough to provide the required fillrate.

If you don’t have a high-end GPU you might want to exchange the new Standard shader with the old legacy ones. The Standard shader can be quite demanding, even on high end hardware. It also increases the build size significantly (especially on Android).

edit
Just read what GPU you have in your laptop. Well, according to wikipedia the fillrate shouldn’t be a problem even with full HD resolution. 12 GP / s should be more than enough ^^.

Like others have already mentioned, are you sure that your laptop is actually using your dedicated GPU and not the internal one? It usually helps when you simply disable the internal one in the device manager completely.