Difference between VSync and FPS lock

pinkeyflower

Krytan Explorer

Join Date: Jan 2010

Is there one? For example say I'm playing on an LCD display at 60Hz. Is there a difference between using VSync or locking Guild Wars to displaying at maximum 60Hz without VSync using command-line arguments?

magao

Academy Page

Join Date: Jul 2008

Australia

Order of Pussycat Mountain [OPCM]

N/

Vsync sets the maximum number of frames that will be rendered to match your screen refresh rate (e.g. 60Hz = 60fps) and ensures that each frame that is displayed (which may be less than the maximum) is displayed in its entirety (no tearing). Triple buffering will increase the maximum number of frames slightly, but can increase your effective frame rate.

The FPS lock specifies the maximum number of frames that will render, however, without vsync you might still get tearing - FPS lock does not ensure that a rendered frame will be displayed in its entirety.

The FPS lock has one primary use for players - ensuring smoother gameplay when you are unable to achieve 60FPS (or your screen's refresh rate) consistently. For example, as you turn around in a spot your framerate might fluctuate between 60FPS and 20FPS. If you set the FPS lock to 30FPS, you are more likely to be able to achieve a consistent 30FPS because the GPU and CPU are not having to do as much work overall, resulting in smoother gameplay. In this situation you should also turn on vsync.

BTW, you might also be able to achieve smoother overall gameplay by turning on triple buffering, but this is actually achieved by making the GPU work harder and you are still likely to get dips down to 20FPS.

If you are running multiple clients on the same machine, the FPS lock has another use. Setting the FPS lock to a lower setting on the secondary (tertiary, etc) clients will give more GPU and CPU time to the primary client.

Finally, if you're testing the GW client, you might want to simulate how well the game plays on a lower-spec machine. So you might set a low (e.g. 15FPS) lock to see if it's playable. Of course, this is of limited use as you would get a consistent 15FPS, rather than the 5-25FPS range a lower-spec machine might really achieve.

nizaru

Ascalonian Squire

Join Date: Mar 2009

I'd like to know how I can 'fps lock' ingame and use that vsync..

Calista Blackblood

Calista Blackblood

Permanently Banned

Join Date: Oct 2007

Northern Ireland

Nowhere To Run Nowhere To [Hide]

N/

You need to view the properties of GW.exe and add " -fps 30 " to the target line. " -dx8 " may also help you,this will force use of DirectX8 instead of DX9.

Note: 30 is used as an example,your own hardware may be able to handle more or less.

nizaru

Ascalonian Squire

Join Date: Mar 2009

Quote:
Originally Posted by Calista Blackblood View Post
You need to view the properties of GW.exe and add " -fps 30 " to the target line. " -dx8 " may also help you,this will force use of DirectX8 instead of DX9.

Note: 30 is used as an example,your own hardware may be able to handle more or less.
So how do I write both of these commands?
should it be like this one below?
"[game file location]" -fps30 -dx8

Snograt

Snograt

rattus rattus

Join Date: Jan 2006

London, UK GMT??0 ??1hr DST

[GURU]GW [wiki]GW2

R/

Yes - exactly that. Stick -noshaders in there as well, if you're testing.

magao

Academy Page

Join Date: Jul 2008

Australia

Order of Pussycat Mountain [OPCM]

N/

Quote:
Originally Posted by nizaru View Post
So how do I write both of these commands?
should it be like this one below?
"[game file location]" -fps30 -dx8
You're missing a space.

-fps 30 -dx8 -noshaders

Only use -dx8 and -noshaders if your computer is struggling i.e. you can't maintain 30fps or more.

For testing purposes you can also add

-perf

to constantly display your FPS (so you can see what you're actually achieving).

combatchuck

combatchuck

Lion's Arch Merchant

Join Date: Mar 2006

Mo/

Frame rate limiting will do just that - force the game to render no more than the specified frame rate. This is useful in situations where you want to limit CPU usage, like if you multitask or get audio stuttering.

VSync, or vertical sync, will make the video card send refreshes to the screen at the exact same time it updates. This is mostly to eliminate tearing.