Timeline for How to deal with mismatch between fps and monitor refresh rate?
Current License: CC BY-SA 4.0
14 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Aug 23, 2022 at 20:58 | comment | added | Kevin | Personally, I'd say not to worry about this. Unless you're only developing for a single specific console, you have no control over the hardware and drivers that the end user are using. Noticeable stuttering is usually caused by some combination of inadequate hardware and a poorly optimized game or engine. | |
Aug 23, 2022 at 20:49 | comment | added | Kevin | @bananab0y Maybe the questions I thought you were asking are different than what you are actually asking. I think the hardcore PC gaming community generally agrees that gameplay is smoother if you're rendering more FPS than the monitor can actually display. See blurbusters.com/faq/benefits-of-frame-rate-above-refresh-rate As far as the deltas/epsilon, whether that matters probably depends on the engine, graphics API (DirectX, OpenGL, etc) GPU, driver settings, and monitor (whether the monitor supports adaptive sync). Most of that is outside your control. | |
Aug 23, 2022 at 18:26 | comment | added | bananab0y | Now referring to my original question, if I have vsync enabled, and I use delta time to update and render new frames, the measured deltas are 1/60+-epsilon for some small epsilon>0. As a result the in-game time difference between consecutive frames is not constant, whereas the screen refreshes occur (at least theoretically) at constant intervals. | |
Aug 23, 2022 at 18:19 | comment | added | bananab0y | I've read your update, and I 100% agree with you, but that is not what I'm trying to say. Yes, it's not "incorrect" (my bad) to render at 90 fps and display at 60 Hz, but the player will see the game advance alternately by 1 and 2 frames, which results in stuttering. Similarly considering your video analogy, I never meant to suggest that the 30 fps video would be incorrect, in fact it's completely fine, but try watching a 45 fps video on a 60 Hz screen. The movement of objects is not going to be consistent. | |
Aug 23, 2022 at 17:35 | history | edited | Kevin | CC BY-SA 4.0 |
deleted 1189 characters in body
|
Aug 23, 2022 at 17:25 | comment | added | Kevin | @bananab0y Whoooops, I'm so used to answering Unity questions I forgot that this isn't a question about Unity. The general gist of my answer is still correct, but I do need to remove references to Unity APIs. | |
Aug 23, 2022 at 17:22 | history | edited | Kevin | CC BY-SA 4.0 |
added 980 characters in body
|
Aug 23, 2022 at 17:18 | comment | added | Kevin | @bananab0y You are thinking about this in the wrong way. I've updated my answer; please see the two new paragraphs at the bottom. | |
Aug 23, 2022 at 17:17 | history | edited | Kevin | CC BY-SA 4.0 |
added 980 characters in body
|
Aug 23, 2022 at 9:27 | comment | added | bananab0y | "Generally, we don't care what the monitor refresh rate is --" I just have a hard time believing that this is true if one wants to provide a consistent feel of the game for the player. | |
Aug 23, 2022 at 9:25 | comment | added | bananab0y | "we care how many frames per second are actually getting rendered." But the refresh rate determines how many frames are actually shown to the user and at what rate. The problem is that the frames rendered are not immediately shown to the user unless you have infinite refresh rate. For example, if the monitor refreshes at 60 Hz and the game renders at 90 fps, then every other monitor refresh advances the game by 2 in-game frames and the rest by 1 in-game frame, which is obviously incorrect as the user only sees increments of 1/60 secs in real time. | |
Aug 23, 2022 at 0:21 | history | edited | Kevin | CC BY-SA 4.0 |
added 287 characters in body
|
Aug 23, 2022 at 0:04 | history | edited | Kevin | CC BY-SA 4.0 |
added 287 characters in body
|
Aug 22, 2022 at 23:58 | history | answered | Kevin | CC BY-SA 4.0 |