Why is rendering in Fullscreen so slow?

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
User avatar
UnixRoot
Citizen
Posts: 80
Joined: Mon Nov 08, 2021 8:10 am

Why is rendering in Fullscreen so slow?

Post by UnixRoot »

Im Rendering my game at a fixed resolution of 640 x 360 px in a 640 x 360 px canvas. If I draw the canvas at 1x size in Windowed mode, I'm getting 900 - 1000 FPS. As soon as i upscale the Canvas to 3x, the performance goes down 3x too. Im only getting 300 FPS with the scaled up canvas.

Image
Image

Why does rendering in fullscreen eat up 600 FPS?

EDIT

It seems that rendering the canvas at 1x size in fullscreen still massively eats up performance. Look at the image. It's at 1920x1080 fullscreen, with a 640x360 Canvas rendered at 1x size in the top left corner. If I render the same canvas in a 640x360 window, I get triple the FPS.

Image
grump
Party member
Posts: 947
Joined: Sat Jul 22, 2017 7:43 pm

Re: Why is rendering in Fullscreen so slow?

Post by grump »

Compare frame times, not fps. Fps is non-linear and misleading.

We seem to have very different ideas of "slow". To me, rendering 2M pixels in 3 ms is not slow. It doesn't seem very surprising to me that a frame buffer that's 9 times larger requires more time to display.

You're way under budget, unless you plan to run at 500 fps for some reason. Start worrying if the absolute time is too slow, or if every draw call suddenly adds 2 ms. The difference between 1 ms and 3 ms per frame is inconsequential, especially if you're not doing very much at all and you're mostly seeing API overhead. I would count that as base line cost.

Edit: https://www.mvps.org/directx/articles/f ... e_time.htm
User avatar
UnixRoot
Citizen
Posts: 80
Joined: Mon Nov 08, 2021 8:10 am

Re: Why is rendering in Fullscreen so slow?

Post by UnixRoot »

Very interesting read. I never thought about the nonlinearity of FPS. So my performance isn't as crappy as I thought. Even with my high draw call count, it's running rock solid on a crappy office PC with GeForce GT 710. At least I can batch draw all the sprites on the trackside.
Post Reply

Who is online

Users browsing this forum: No registered users and 17 guests