+ Reply to Thread
Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 26

Thread: question about framerate and refresh rate

  1. #1
    Senior Member julios is on a distinguished road
    Join Date
    Dec 2011
    Posts
    199

    question about framerate and refresh rate

    I know this sort of thing has been done to death, but just trying to understand something better here.

    My understanding is that when you don't have vsync enabled, there is no guarantee that your frame will be rendered (and sent to the monitor) at the same time the monitor is refreshed.

    If this is correct, does that mean that having as high a refresh as possible will minimize any potential tearing, at a given framerate?

    So, i'm running quakelive at 125fps and 140hz. I'm assuming that this is "better" (albeit marginally and perhaps not perceivably) than 120hz.

    Also, I remember quake3 could only render at 1000/n fps, where n is a positive integer. But I see that quakelive can render at any framerate. Is this really true?

  2. #2
    Senior Member Lorfa is a jewel in the rough Lorfa is a jewel in the rough Lorfa is a jewel in the rough Lorfa's Avatar
    Join Date
    Aug 2010
    Location
    Kepler-22b
    Posts
    8,758
    Quote Originally Posted by julios View Post
    My understanding is that when you don't have vsync enabled, there is no guarantee that your frame will be rendered (and sent to the monitor) at the same time the monitor is refreshed.
    Right. Although vsync charges a fee for this in the form of latency.

    If this is correct, does that mean that having as high a refresh as possible will minimize any potential tearing, at a given framerate?
    I suspect this of being generally true, but it depends on the numbers themselves.

    "Mokuh" did an analysis on that here. I actually recommend looking through the whole thread.

    I think it is less likely to have tearing on an LCD since there is less "swiping" going on.

    A couple of forum posts of unknown credibility on the matter:

    http://hardforum.com/showthread.php?t=1112614
    http://hardforum.com/showpost.php?p=...5&postcount=15

    So, i'm running quakelive at 125fps and 140hz. I'm assuming that this is "better" (albeit marginally and perhaps not perceivably) than 120hz.
    Probably.

    Also, I remember quake3 could only render at 1000/n fps, where n is a positive integer. But I see that quakelive can render at any framerate. Is this really true?
    It is the same in Quake Live, it's just that cg_drawFPS has been tampered with such that its value is capped at the value of com_maxFPS.

    See the guide in my sig under com_maxFPS for a clearer explanation on that.

    cl_maxPackets 125 does exist in QL though, I think it maxed out at 100 in Q3. Maxpackets also follows the 1000/n convention. So maxfps 125 maxpackets 125 is to be recommended.

  3. #3
    Senior Member julios is on a distinguished road
    Join Date
    Dec 2011
    Posts
    199
    thanks for the great info lorfa. Gonna stick to 140hz (1280x800), and look forward to learning from those threads you linked.

  4. #4
    Senior Member julios is on a distinguished road
    Join Date
    Dec 2011
    Posts
    199
    hmmm

    Ok from the vysnc guide, it appears that vsync is only a problem when the framerate cannot be robustly maintained at the refresh rate.

    In my own case, I'm rock solid at 125 fps, NEVER dip below. Would vsync enabled at 120hz provide the ultimate experience for a crt, under these rock solid conditions?

    Gonna test it out.

  5. #5
    Senior Member julios is on a distinguished road
    Join Date
    Dec 2011
    Posts
    199
    Ok I'm 100% sure that vysnc with 120hz provides the smoothest visual experience.

    I found the easiest way to see this is to stand facing a health orb, using cg_simpleitems 1. Stand a few feet away from it.

    While facing it, strafe left and then strafe right. Try to follow the health orb with your eye as it moves across your screen.

    With 120hz/140hz and 125 fps with vsync off, there is DEFINITE tearing.

    With 140hz and 125 fps and vsync on, there is still tearing.

    with 120hz and 125fps and vsync on there is no tearing.

    It's a shame qlive has capped the fps at 125, although I understand there may be physics dependency issues at framerates above 125.


    Gonna test it out online and see if anything feels different. Is there any reason to suppose that on a crt this will introduce any input lag?

    also, I've been using r_swapinterval to toggle vsync. I've always wondered about r_finish, which I've always had set to 1. Does that do something similar?

  6. #6
    Senior Member julios is on a distinguished road
    Join Date
    Dec 2011
    Posts
    199
    Ok i'm almost certain that it introduces input lag. Pity, because visually it's stunning. Definitely noticed it with lg, even on a 15 ping server.

    I even think I noticed it on my practice server when moving around. Almost felt like I had cg_nopredict on (similar to g_sync..clients.. in quake3), where your movement is shown realtime as opposed to clientside illusion of 0 ping).

    Will try to devise a test somehow - maybe find a way to record the time of a keystroke and compare it to the first motion on screen, with vsync off and on.

  7. #7
    Member TacticalBurst is on a distinguished road
    Join Date
    Mar 2013
    Posts
    56
    If you want to play a competitive FPS game, you want Vsync Off.

  8. #8
    Senior Member julios is on a distinguished road
    Join Date
    Dec 2011
    Posts
    199
    yea i get that's the conventional wisdom, and for the 16 years i've been quaking i've never thought to use it. But it'd be nice to somehow get it working with no additional input lag.

  9. #9
    Senior Member Lorfa is a jewel in the rough Lorfa is a jewel in the rough Lorfa is a jewel in the rough Lorfa's Avatar
    Join Date
    Aug 2010
    Location
    Kepler-22b
    Posts
    8,758
    Quote Originally Posted by julios View Post
    Ok from the vysnc guide, it appears that vsync is only a problem when the framerate cannot be robustly maintained at the refresh rate.
    It's still a problem due to the latency.

    Quote Originally Posted by julios View Post
    Ok I'm 100% sure that vysnc with 120hz provides the smoothest visual experience.
    Compared to what you tested.

    I found the easiest way to see this is to stand facing a health orb, using cg_simpleitems 1. Stand a few feet away from it.

    While facing it, strafe left and then strafe right. Try to follow the health orb with your eye as it moves across your screen.

    With 120hz/140hz and 125 fps with vsync off, there is DEFINITE tearing.

    With 140hz and 125 fps and vsync on, there is still tearing.

    with 120hz and 125fps and vsync on there is no tearing.
    It's surprising that you have tearing with vsync on.

    Have you tested 120/125 without vsync? Is there tearing? Just to verify that it is actually working.

    I personally have no tearing, but I use 800x600 at 154 Hz. I use r_displayRefresh 150 so perhaps it is actually running 150. The osd reports 154.

    It's a shame qlive has capped the fps at 125, although I understand there may be physics dependency issues at framerates above 125.
    I wish we could run >125 as well.

    Gonna test it out online and see if anything feels different. Is there any reason to suppose that on a crt this will introduce any input lag?
    Yes, it's vsync.

    also, I've been using r_swapinterval to toggle vsync. I've always wondered about r_finish, which I've always had set to 1. Does that do something similar?
    No, it does not. Ignore this cvar. (it just waits until some gl operations are done to render the frame, it very well may be completely ineffectual on modern hardware).

    Quote Originally Posted by julios View Post
    Ok i'm almost certain that it introduces input lag. Pity, because visually it's stunning. Definitely noticed it with lg, even on a 15 ping server.

    I even think I noticed it on my practice server when moving around. Almost felt like I had cg_nopredict on (similar to g_sync..clients.. in quake3),
    Yep.

    where your movement is shown realtime as opposed to clientside illusion of 0 ping).
    It's not a complete illusion with the antilag code and such.

    Will try to devise a test somehow - maybe find a way to record the time of a keystroke and compare it to the first motion on screen, with vsync off and on.
    You might be able to see something with a camera although it's a bit of a long shot.

    Otherwise it would imo require custom hardware/software.

    Quote Originally Posted by julios View Post
    But it'd be nice to somehow get it working with no additional input lag.
    It's intrinsic to its operation unfortunately.

    How are you setting your refresh rates? I use powerstrip which allows you to pencil them in with great precision. At 1280x800 (why this res? Is this a 16:10 crt?) you're likely to be limited to somewhere around 140 which is already quite high for that res though.

  10. #10
    Senior Member julios is on a distinguished road
    Join Date
    Dec 2011
    Posts
    199
    Quote Originally Posted by Lorfa View Post

    It's surprising that you have tearing with vsync on.
    I'm guessing this is because quakelive is capped at 125 fps, so vsync wasn't really working correctly. Refresh was at 140hz, but framerate was at 125fps (I'll double check this soon).

    Quote Originally Posted by Lorfa View Post
    Have you tested 120/125 without vsync? Is there tearing? Just to verify that it is actually working.
    Yes, have tested, and yes there is tearing. Although, I really only noticed this tearing using the health orb test, and it's not severe when actually playing. And yes, there is a significant difference with and without vsync, easily testable since you only have to toggle one command (r_swapinterval) and don't even need a vid_restart.

    Quote Originally Posted by Lorfa View Post
    I personally have no tearing, but I use 800x600 at 154 Hz. I use r_displayRefresh 150 so perhaps it is actually running 150. The osd reports 154.
    Do the test I suggested. And do it with vsync enabled. I'm curious to see whether you notice a difference.

    Quote Originally Posted by Lorfa View Post
    Yes, it's vsync.
    damn


    Quote Originally Posted by Lorfa View Post
    No, it does not. Ignore this cvar. (it just waits until some gl operations are done to render the frame, it very well may be completely ineffectual on modern hardware).
    good to know, thanks.


    Quote Originally Posted by Lorfa View Post
    It's not a complete illusion with the antilag code and such.
    aye.

    Quote Originally Posted by Lorfa View Post
    It's intrinsic to its operation unfortunately.
    I've heard anecdotes about capping framerate to refresh-1 fps, but not sure if this actually helps (or is possible in qlive). Also heard that triple buffering can help, but again these are weak anecdotal reports.


    Quote Originally Posted by Lorfa View Post
    How are you setting your refresh rates?
    r_displayrefresh of course. Why would I use anything else when quakelive allows me to set it to what I want?

    Quote Originally Posted by Lorfa View Post
    At 1280x800 (why this res? Is this a 16:10 crt?) you're likely to be limited to somewhere around 140 which is already quite high for that res though.
    fw900

    I may experiment with lower res/higher refresh to see if that helps the tearing "problem".

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts