#Frame tearing issues on my TopDown Game [VSync]

1 messages · Page 1 of 1 (latest)

empty parcel
#

I’m developing a top-down game and it feels visually stuttery, even though profiling showed no frame-time spikes. The game consistently runs at around 120 FPS, so there are no performance hitches.

Enabling VSync QualitySettings.vSyncCount = 1 made the visuals smooth on my laptop and it solved the issue. However, on another PC, enabling VSync caused noticeable motion blur or smearing during camera movement. I think this will be the case for weaker machines.

I then tried locking the frame rate using Application.targetFrameRate, with Vsync disabled but the issue persisted. Disabling both VSync and the frame-rate cap also didn’t help. There was still visible tearing and unsmooth motion.

#

Frame tearing issues on my TopDown Game [VSync]

severe leaf
#

Vsync is the correct and only solution to screen tearing. I've no clue why you think it's gonna make things worse on weaker machines, it's literally just limits presentation(frame rate) to the monitor refresh rate.

And it's not clear what "blur or smearing" you're talking about on your another pc.

empty parcel
severe leaf
#

Sounds like motion blur. Though, the fact that it only happens on certain pc, might imply something with the os, hardware, monitor. Pick one.

#

Maybe some kind of monitor setting.

#

A quick google reveals that there are settings like overdrive on the monitor, that can help with such issues(assuming it's a monitor issue indeed)

empty parcel
#

Wouldn't a sizeable portion of people (lets say 10%) experience the same issue?

Most games get away without having vsync or frame limitting. This screen tearing seems more apparent in topdown?

severe leaf
#

It's really simple to reason about it if you understand what it is: the game gives the monitor a new frame to render, while it's in the middle of rendering the previous frame, so half the screen would show an older frame and half the new. The border between these frame is basically the tearing.

#

Vsync makes sure the frames are only submitted(the correct terminology is present/presentation) to the monitor when it's done with the previous frame.

#

That's why you'd see "wait for present" in the profiler if vsync is doing it's job correctly.