#Lag/fps

1 messages ยท Page 1 of 1 (latest)

gilded trench
#

Graphics still bugged?๐Ÿ˜”

#

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.

worn lake
#

perhaps a dumb question on my end, but could you have some sort of frame-limiting enabled, like VSync? ๐Ÿค”

gilded trench
worn lake
#

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?

gilded trench
#

Nope both Low settings and maxed out i cap at 29/30 fos

worn lake
#

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

gilded trench
#

In performance manager shows 30FPS cap hitting when leaving menu. so no clue wat is triggering it

gilded trench
worn lake
#

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 ๐Ÿค“)

gilded trench
#

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.

worn lake
#

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

jovial temple
#

vsync double buffer on a 60Hz screen results in a 30fps limit

gilded trench
# jovial temple 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.

gilded trench
jovial temple
#

in my setup:

#

screen 75Hz
single buffer: 49fps
double buffer: 37fps

#

(in a blank, new save it's 75fps single, 37fps double)

gilded trench
#

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?