#Lag/fps
1 messages ยท Page 1 of 1 (latest)
So despite even changing every setting, looking up everything I could find, the game is underperformance at higher or lower settings. So here's a screen comparison between 1080 low settings and 4K highest settings in Both modes the won't go above 29 frames per second.
perhaps a dumb question on my end, but could you have some sort of frame-limiting enabled, like VSync? ๐ค
I do but at 60 FPS. It seems like that wen setting in game max FPS it wont switch to 60. it stays on 30
or do you mean there is a difference in framerate but in neither case it goes above 30... like 15 on 4K highest settings but only 30 on 1080p lowest?
Nope both Low settings and maxed out i cap at 29/30 fos
also, some forms of limiting might limit more than you think/want... VSync on a 60Hz monitor can be limiting to 30 if the framerate is somewhere in between
like if at 40FPS, it might display at 30FPS since it's the next lowest divisor, only displaying at 60FPS if it was able to exceed 60
In performance manager shows 30FPS cap hitting when leaving menu. so no clue wat is triggering it
between every 60 frames per second is still 60 per second. they wont become less frames ?
could be the frame limiting... it makes it not go above the specified rate, it doesn't mean it'll go as fast as possible within it
imagine you render a frame, and me, the monitor, asks for it... you hand it over, all is good...
then 1/60th of a second later, I ask for another, which you still don't have because you take longer than 1/60th to render a frame, so I keep displaying the last one
then you finish rendering a frame and start preparing a new one...
1/60th of a second after my last visit, I ask if you have a new frame, which you do and I draw it
so, you have more than 30FPS rendering speed BUT since you don't reach 60FPS and I only ask once every 1/60th of a second, I end up having a new frame only every other "visit", so effectively showing new frames at 30FPS
that is what the whole G-Sync and FreeSync stuff was about... allowing the monitor to refresh at (almost) any time as new frames became available instead of waiting for a monitor cycle to repeat
if disabling frame limiting (which, admittedly, can cause screen tearing) doesn't help, then I have no idea (not part of the game dev team, just a nerdish software developer ๐ค)
Well, thanks for the clear and awesome explanation,The only thing is that, no matter what settings I'm in, either lowest performance or highest settings. The game doesn't go above 30FPS. So I'm quite sure my computer is capable of running at least everything at 4K. Normally, this game doesn't even go above 30FPS on lowest setting 1080P.
but are you certain it can go above 60? because for some forms of frame limiting, even 58FPS would show at 30FPS
(that doesn't mean optimisation shouldn't be performed, but frame limiting can limit a lot more than desired)
if with no frame limiting at all it is still stuck at 30FPS then yes, it's weird and something to be checked with the devs
vsync double buffer on a 60Hz screen results in a 30fps limit
(WHEN) your pc is not rendering enough frames (THEN)
See below
What happens is, ~16ms after the last frame was displayed, the computer either has to deliver a new frame to the display, re-deliver the old one, or deliver whatever part of the next frame it has completed, with the old frame left on the rest of the screen.
if a whole new frame is not ready, it shows the last one again. Since that frame has now been shown for two consecutive ~16ms periods, that's equivalent to one thirtieth of a second. So in that sense, the instantaneous framerate has dropped to 30. But it'll go back up again assuming the next frame is ready in time.
in my setup:
screen 75Hz
single buffer: 49fps
double buffer: 37fps
(in a blank, new save it's 75fps single, 37fps double)
o understand why the statement "Vsync double buffer on a 60Hz screen results in a 30fps limit" is not true, it's essential to understand what Vsync and double buffering are:
Vsync (Vertical Synchronization): Vsync is a technology that synchronizes the frame rate of a game with the refresh rate of a monitor to eliminate screen tearing. Screen tearing happens when the graphics processor is out of sync with the display, causing parts of two or more screen draws to be shown at the same time.
Double Buffering: Double buffering is a technique used to minimize or eliminate visual artifacts, such as flickering or tearing, by utilizing two buffers. While one buffer is being displayed (the front buffer), the other (the back buffer) is being used to draw the next frame. Once the next frame is fully drawn, the buffers swap roles, improving the viewing experience by providing a smooth transition between frames.
Now, addressing the misconception:
When Vsync is enabled on a 60Hz monitor with double buffering, the GPU will wait to update the screen until the monitor is ready to refresh. If the GPU finishes rendering a frame and the monitor is midway through a refresh cycle, the GPU must wait until the next refresh cycle to send the frame, effectively limiting the frame rate to match the refresh rate of the monitor (60 fps, not 30 fps in this context).
The misunderstanding likely arises from a confusion with what happens when the GPU cannot consistently maintain the 60 fps output. If the GPU's rendering time exceeds the refresh interval (16.67ms for a 60Hz monitor), the GPU misses the opportunity to swap buffers in the next vertical blanking interval. This delay causes the frame rate to drop, but it does not lock the frame rate at 30 fps. Instead, it causes noticeable stutter as frame delivery becomes inconsistent, but this effect does not enforce a strict 30 fps cap; it merely reflects the GPU's failure to maintain 60 fps, causing perceived judder or stutter in frames that are displayed for varying lengths of time.
In summary, while enabling Vsync with double buffering on a 60Hz screen can lead to performance issues if the GPU cannot keep up, it does not inherently limit the frame rate to 30 fps. The goal is to synchronize frame output with the monitor's refresh rate, ideally maintaining a stable 60 fps for a 60Hz display. Does this clarify the misconception for you?