Graphics V-Sync: Getting the facts straight

Discussion in 'Hardware' started by FelixTech, 24 Apr 2011.

  1. FelixTech

    FelixTech Robot

    Joined:
    12 Jun 2009
    Location:
    London
    Posts:
    357
    Likes Received:
    8
    This is both a software and hardware related thing so I wasn't sure where to put it. After not turning up much using the search (there are a lot of ways of writing v-sync) I thought I'd try a new thread.

    I think I am right in saying v-sync works as follows:
    - Your frame rate is limited to the refresh rate of your monitor.
    - To make sure there is always a picture ready, it is usually stored in a buffer first, and this leads a lower response time.

    Now what I'm wondering is:
    - Does your power consumption go up linearly with the frame rate?
    - Are there any other ways to limit your frame rate?
    - Do most games have a limiter of the frame rate?

    The reason I ask is that now I am getting a power hungry GPU, it seems a terrible waste of electricity for my frame rate to be running over and above what it needs to be. While some seem to say that the response time drop is noticable, on a 60Hz monitor is there any real difference in 120fps and 240fps from a user perspective?
     
  2. Madness_3d

    Madness_3d Bit-Tech/Asus OC Winner

    Joined:
    26 Apr 2009
    Location:
    London UK
    Posts:
    1,040
    Likes Received:
    36
    My understanding is that Vsync makes sure that each frame is updated on screen as a whole to avoid "tearing" where you get a line across the frame as a new part is added later.

    Vsync caps your frame rate to the limit of your monitor because it is pointless feeding the monitor more frames than it can output. the human eye can't tell smoothness much past 60fps (you can notice the difference between 30fps and 60fps because the space between each frame is not even, even though the human eye can't see more than 30fps.)

    By Capping the framerate in some scenarios you wont need the full power of the GPU (s) to render an image so GPU Utilisation will be lower and some power will be saved.

    I personally always have it on as I can't stand an image with tearing (even videos)
     
  3. mucgoo

    mucgoo Minimodder

    Joined:
    9 Dec 2010
    Posts:
    1,602
    Likes Received:
    41
    The scaling isn't linear but capping will save a little power. No more than 50W at the most though.
     
  4. frontline

    frontline Punish Your Machine

    Joined:
    24 Jun 2007
    Location:
    Yorkshire, UK
    Posts:
    825
    Likes Received:
    12
    You can manually limit source engine games frames-per-second using the cvar 'fps_max' (just enter a number after it to cap the fps at that value).

    In COD games you can use the cvar '/com_maxfps'
     
  5. FelixTech

    FelixTech Robot

    Joined:
    12 Jun 2009
    Location:
    London
    Posts:
    357
    Likes Received:
    8
    So you have to choose it yourself then? I suppose they can't do it in the drivers as it probably needs to be entered in the games code somewhere.

    If you limit your frame rate at 60fps without using the v-sync option does that mean there is no buffering and therefore no response time drop? Or will that just give a bad case of the tears? <-- (Just led to me wiki'ing homographs :eeek:)
     
  6. Elton

    Elton Officially a Whisky Nerd

    Joined:
    23 Jan 2009
    Location:
    California
    Posts:
    8,577
    Likes Received:
    196
    The only apparent issue with Vsync is the small increase of response time, just read it up in Anandtech.

    Regardless, for some games, it really does help with power consumption as GPU utilization is much less, leading to less of the power needed to power the GPU.
     
  7. rollo

    rollo Modder

    Joined:
    16 May 2008
    Posts:
    7,887
    Likes Received:
    131
    V-sig is kinda required for most people or they will see exesive screen tearing this becomes more and more apparant in older games. Borderlands for example does about 150fps on most modern cards and you need to force either AA or v-sig to sort out alot of issues.

    The reduction in response time is not very relivent, most people only have a 60hrtz moniter so 60fps is the maximum there moniter can do anyway. You can buy 120hrtz ones but they are usually very expensive
     
  8. wyx087

    wyx087 Homeworld 3 is happening!!

    Joined:
    15 Aug 2007
    Location:
    N London
    Posts:
    12,007
    Likes Received:
    721
    120Hz monitors are rather cheap compared to display with proper colours, after all, it's still TN panel. :p

    Vsync will decrease power usage, this is due to the card will be waiting for monitor refresh, will not render at highest possible speed. Remember Starcraft 2 Nvidia card overheating? That was a non-issue for most sensible gamers with Vsync turned on.

    In Portal 2 there is an option to do triple buffering Vsync, do it. It is an excellent way of making sure the game is running smoothest possible. Only problem is that it might introduce slower response, but when have 16ms (that one extra frame in buffer, at 60FPS) been important? Especially with consolisation of games, more and more P2P hosting, more and more random lag spikes due to some kid's sister went on YouTube.

    When a game like Quake 3, or UT99 is released, then it's worth worry about the slower response Vsync introduces, and consider a 120Hz monitor when you have won a gaming championship. Any other day, non-TN monitor with triple buffer Vsync is the way forward.
     
  9. azrael-

    azrael- I'm special...

    Joined:
    18 May 2008
    Location:
    Aarhus, Denmark
    Posts:
    3,852
    Likes Received:
    124
    V-sync links the frame rate of your graphics card to the refresh rate of your monitor, i.e. 60 fps for 60 Hz, 100 fps for 100 Hz etc.

    Provided that your graphics card can actually output this many frames per second at a given resolution. If that's not possible, e.g. if the graphics card is only able to 55 fps instead of 60 at 60 Hz, then the frame rate will drop, usually to half the refresh rate, e.g 30 fps for 60 Hz etc.

    This is because graphics is usually double-buffered, meaning that while a frame is shown another frame is rendered to a hidden buffer. Then those two buffers are swapped. Not the content, but which of the two is shown. Rinse and repeat.

    There's a way to mitigate the huge drop in frame rate by using triple buffering. What happens here is quite simple. Instead of the above double buffer a third buffer is introduced and outputs swaps between those three buffers. Sadly, triple buffer support is only a fixed feature in OpenGL. For Direct3D the feature is optional and is, for some reason, usually not implemented.

    And yes, triple buffering may introduce extra latency/input lag. On the other hand you won't have the dreaded 'tearing' effect.
     
  10. Elton

    Elton Officially a Whisky Nerd

    Joined:
    23 Jan 2009
    Location:
    California
    Posts:
    8,577
    Likes Received:
    196
    Triple buffering works in general for newer monitors, but for me and others who use older monitors with 16+ms of response, it can be slightly jarring.

    Mind you it's not as bad in some games, but sometimes in shooters or first person games, the input lag is quite atrocious actually.
     
  11. GregTheRotter

    GregTheRotter Minimodder

    Joined:
    9 Aug 2008
    Location:
    Henley on Thames
    Posts:
    4,271
    Likes Received:
    88
    Ok, so what's the difference between 100hz and 100fps? I've heard some people say things like do I need 100fps to have 100hz work properly. I've got a 100hz tv that inserts the extra frames through frame creation, and I obviously get a smoother picture with it on.

    Another thing, in assassins creed brotherhood, you have an option output the game at different hertz, 24, 30, 60. I've heard of 24 m(hertz or p i can't recall) for watching movies with how the movies were made, but if that's the case then why do I get a smoother picture with the 60hz when playing the game, and why is there a 24 hertz option there in the first place?
     
  12. azrael-

    azrael- I'm special...

    Joined:
    18 May 2008
    Location:
    Aarhus, Denmark
    Posts:
    3,852
    Likes Received:
    124
    Hertz (Hz) denotes the number of frames the monitor can show per second. Frames per second (fps) denotes the number of frames the graphics card can render per second. Best example would be a monitor that shows 60 frames per second (60 Hz) and a graphics card that can render twice as much (120 fps). Now take a wild guess, how many frames you're actually going to see on your monitor. With v-sync on that would be 60 fps. With v-sync off that would be *parts* of 120 fps and a lot of tearing.

    As for 24 Hz (or 24p) that's because 24 Hz equals 24 frames per second, which is the number of frames most movies are shot in. In the olden days(tm) for NTSC (30 half-frames per second, 60 Hz) you would show the same 3 interlaced frames (half-frames) and then next 2 interlaced frames in what is called 3:2 pull-down. Showing 24p images is easier accomplished in PAL because you have 50 half-frames and thus 25 full frames. 25 frames are very close to 24 frames, so instead of repeating half-frames you just show the image as it is resulting in a 4% speed-up (the reason movie run times in PAL are usually 4% shorter).

    Blu-ray introduced 24p output, so movies are always shown at their correct speed and number of frames regardless of region (NTSC and PAL no longer matter). Provided your tv-set can handle 24p output and doesn't do some sort of internal image processing.
     
  13. FelixTech

    FelixTech Robot

    Joined:
    12 Jun 2009
    Location:
    London
    Posts:
    357
    Likes Received:
    8
    Following up this advice, Anandtech do indeed have a pretty good explanation.

    When done properly, triple buffering doesn't limit your frame rate, it just ensures that one consistent frame is drawn on the screen. This means a much smaller added delay than double buffered vsync while still preventing tearing, but also doesn't save any power. Sadly it seems that many other methods are also reffered to as vsync and many developers just throw in an extra buffer giving even more delay than double buffering.

    Greg, I think your are talking about the opposite issue - vsync is there to solve the issues caused when the frame rate going above the refresh rate. If you drop below 100fps on a 100Hz monitor then it will inevitably have do display a few frames twice to keep an image on the screen at all times. On the other hand, if your TV is doing some wizardry (a bit like interpolation on a still image) to add frames to a 50/60Hz output then you probably only need 50/60fps as the rest of the magic happens ater the image leaves the graphics card. These extra frames won't be 'true' frames with new information though, they will simply smooth out the difference between two graphics card frames.
     
  14. Deders

    Deders Modder

    Joined:
    14 Nov 2010
    Location:
    Here and there, mostly there
    Posts:
    4,053
    Likes Received:
    106
    Triple buffering works in 95% of games I play when I enable it in the Nvidia Control Panel.

    and yeah Vsync will save power consumption, the graphics card only has to draw 60fps (for 60Hz) so it doesn't have to work as hard. Won't be as hot either.
     
  15. Salty Wagyu

    Salty Wagyu moo

    Joined:
    5 Jul 2010
    Location:
    Sussex, UK
    Posts:
    454
    Likes Received:
    17
    The input lag from keyboards/mice when using the v-sync setting in games can be pretty much eliminated by using Force V-Sync in Nvidia's Control Panel in the 3D settings instead of enabling the game's own v-sync option.

    It's something I found out last year, solved the linput lag issues and do not need to put up with screen tearing anymore. Nvidia's force v-sync is most likely doing a better job than some of the games' own v-sync implementation.
     

Share This Page