this post was submitted on 15 Sep 2023
240 points (98.8% liked)

Steam Deck

15070 readers
146 users here now

A place to discuss and support all things Steam Deck.

Replacement for r/steamdeck_linux.

As Lemmy doesn't have flairs yet, you can use these prefixes to indicate what type of post you have made, eg:
[Flair] My post title

The following is a list of suggested flairs:
[Discussion] - General discussion.
[Help] - A request for help or support.
[News] - News about the deck.
[PSA] - Sharing important information.
[Game] - News / info about a game on the deck.
[Update] - An update to a previous post.
[Meta] - Discussion about this community.

Some more Steam Deck specific flairs:
[Boot Screen] - Custom boot screens/videos.
[Selling] - If you are selling your deck.

These are not enforced, but they are encouraged.

Rules:

Link to our Matrix Space

founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 1 year ago (2 children)
[–] [email protected] 48 points 1 year ago* (last edited 1 year ago) (5 children)

You might know VRR from the commercial names from AMD and Nvidia: G-Sync and FreeSync.

Your game/software can render as many frames as it wants or the hardware allows, yet your screen can only refresh at a set interval.

Assume your game is running at 55 FPS, but your screen is refreshing at 60 Hz. There's no way to assign one full frame to each display refresh, because these are not integer multiples of each other. This means that if you do absolutely nothing and just feed the display the latest available frame at all times, you get screen tearing: parts of the image shown on screen will come from one frame, and parts will come from the next frame, this results in weird artifacts where vertical lines appear to be cut or mixed. This is bad.

You can then take the classic and most universally used approach: software vsync. In this case, your GPU will hold back each frame on a buffer and wait for your monitor to send a command requesting the next full frame. This fixes the artifacts, but because each frame must be kept waiting on a buffer, you get a delay between when the frame was calculated and when it shows up, this results in increased latency and it's quite noticeable.

VRR compatible displays will do something entirely different: they won't just warn the GPU they're ready for the next frame, but rather the display and GPU will constantly negotiate the refresh rate and adjust on the fly. The game is running at 55 FPS? The screen will refresh at 55 Hz. A heavy scene came up and now the game dropped to 43 FPS? Display will immediately refresh at 43 Hz.

The end result is that if both the monitor and device support VRR, you get smooth frame delivery without latency spikes and without artifacts.

[–] [email protected] 6 points 1 year ago (1 children)

Great explanation, thank you!

[–] [email protected] 6 points 1 year ago

Yeah I'm only now understanding this for the first time...

[–] [email protected] 2 points 1 year ago

VRR is a terrible name for this. Something like "frame rate sync" sound much more appropriate.

[–] [email protected] 2 points 1 year ago

VRR is one of the best things to come to gaming in the last 10 years

[–] [email protected] 2 points 1 year ago

Thanks for the explanation.

[–] [email protected] 2 points 1 year ago (1 children)

Interesting - I'd always thought that G-Sync etc meant the other way around. Thanks for the explanation!

[–] [email protected] 2 points 1 year ago

You're correct; AMD's implementation is FreeSync and NVIDIA's is G-Sync.

[–] [email protected] 0 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago