Full screen and frame rate

Posted By: Dooley

Full screen and frame rate - 08/22/17 23:00

I've noticed that my game's performance takes a hit if it is full screen. Is this normal?

Just wondering if there are any known solutions/causes for this behavior.
Posted By: WretchedSid

Re: Full screen and frame rate - 08/23/17 02:03

If you are fragment bound, then increasing the resolution gives you worse FPS. However, in general it should get better because the OS can give your program full access to the GPU instead of having the window manager have to run the swapchain and have your program render into parts of it.
Posted By: Dooley

Re: Full screen and frame rate - 08/23/17 04:28

Okay, I am not familiar with the term "fragment bound."
Posted By: WretchedSid

Re: Full screen and frame rate - 08/23/17 20:22

Fragment bound means that your GPU is maxed out rendering pixels. So with DX 9 you have basically two units at work: Vertex and fragment. You can be unbound by either, meaning that your GPU has no problem dealing with the amount of vertex and fragment operations thrown at it. If you are vertex bound it means that your GPU has too many vertex operations going for it and it can't rasterize all your polygons in time. If you are fragment bound, well, then it just can't draw enough.

There are multiple reasons you can run into either. For example you can easily be fragment bound if you are drawing things in a very stupid way. For example rendering a lot of geometry back to front. You will end up drawing all the geometry and a huge amount of it will be overdrawn by geometry that is in front of it, so you are wasting a lot time drawing pixels that are never seen. Not saying that that is your issue, but that's a very easy example of such a problem.

The point is, if you are fragment bound, rendering to a larger render target by switching to fullscreen isn't doing you much good. There was already a problem pushing pixels, and now you are pushing more of them.

Of course, you could also be vertex bound and now you need to rasterize more geometry. But in reality it is way easier to make a modern GPU fragment bound than vertex bound.
Posted By: Superku

Re: Full screen and frame rate - 08/24/17 22:58

Additionally, vsync is on in fullscreen mode and your framerate will be bound to the refresh rate of your monitor or integer dividers of that. On a 60Hz monitor that is 60, 60/2, 60/3 and so on.
When your game runs at let's say ~57 fps in windowed mode, the frames per second will jump down to 30 in fullscreen mode.
Posted By: WretchedSid

Re: Full screen and frame rate - 08/24/17 22:59

Very good point. As someone who routinely disables vsync, I completely forgot about that.

PS: Felix, come online on Skype, I forgot my ICQ password and I want to bug you about releasing Superku! grin
Posted By: Superku

Re: Full screen and frame rate - 08/25/17 05:03

Oh boy, Skype is still a thing? shocked (Yeah I know, I'm using ICQ still as well.)
I will. (^o^) /
Posted By: WretchedSid

Re: Full screen and frame rate - 08/25/17 21:02

Originally Posted By: Superku
Oh boy, Skype is still a thing?

Posted By: Dooley

Re: Full screen and frame rate - 08/27/17 16:58

d3d_triplebuffer = 1; <-- Seems to help. Thanks!
Posted By: WretchedSid

Re: Full screen and frame rate - 08/27/17 23:01

In that case you did fall victim to VSync!
© 2024 lite-C Forums