Ex_interp Locked To 0.1, Bug Or "feature"?

13

Comments

  • BobTheJanitorBobTheJanitor Join Date: 2003-12-10 Member: 24228Members, NS1 Playtester
    Setting the correct ex_interp, as determined by setting it to 0 and letting it pull itself back up, will often leave you with jerky movement on player models. If 15 works for you, and you don't get jerkiness, that's probably the correct way to do it. A lot of people want to beef their updaterate up as high as it will go, which then ends up with a very low interp, and the jerkiness. This is because their updaterate isn't really running as high as it's set (due to bandwidth issues, most likely), so the interp is not interpolating enough frames, because it's not getting enough updates.

    If you just have to have it both ways, just set your updaterate high, and then set your interp high also. You'll get the smooth movements, but you can feel like you're working off a higher updaterate, even if you're really not. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html//emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif' /><!--endemo-->
  • gophergopher Join Date: 2003-08-01 Member: 18657Members, Constellation
    <!--QuoteBegin-BobTheJanitor+Jun 13 2004, 11:31 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (BobTheJanitor @ Jun 13 2004, 11:31 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Setting the correct ex_interp, as determined by setting it to 0 and letting it pull itself back up, will often leave you with jerky movement on player models. If 15 works for you, and you don't get jerkiness, that's probably the correct way to do it. A lot of people want to beef their updaterate up as high as it will go, which then ends up with a very low interp, and the jerkiness. This is because their updaterate isn't really running as high as it's set (due to bandwidth issues, most likely), so the interp is not interpolating enough frames, because it's not getting enough updates.

    If you just have to have it both ways, just set your updaterate high, and then set your interp high also. You'll get the smooth movements, but you can feel like you're working off a higher updaterate, even if you're really not. <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html//emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif' /><!--endemo--> <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    So what happens when I have updaterate set to 60, and ex_interp at 0.05?
  • JNighthawkJNighthawk Join Date: 2002-11-11 Member: 8160Members
    Hrm. Am I the only one who is having no problems with this, at all? The only setting I've altered is my rate and cl_rate, and everything else is the same. Everything works PERFECTLY and I have under 5ms real latency/lag (according to net_graph) while playing.

    To be fair, however, I am on a brand new laptop (<3 months old) and I did have problems with lag and such on my old laptop.
  • altairianaltairian Join Date: 2003-06-18 Member: 17459Members
    edited June 2004
    You guys are forgetting an important issue when it comes to updaterate... server fps. The server is only going to send an update every time it generates a new frame. If, for example, the server is running at 50fps it's not going to update you 60 times in a second. You can't have your cl_updaterate higher than the server fps if you have your ex_interp set to 1/cl_updaterate if you want to avoid jerkiness.
    Ideally a server is running at 100fps, but given the higher resource usage by NS, I imagine there are many servers that don't get anywhere near 100fps. That's why lower interp values work fine in CS (where most CS servers get 100fps or even higher) but in ns you get jerkiness with low interp values.
    Just remember that these are updates PER SECOND, there's no real NEED for 100 updates per second. Try toning your cl_updaterate down see how things go.
  • rknZrknZ Join Date: 2003-10-23 Member: 21885Members
    Aye altairian thats why even tho the server I play on has a maxupdaterate of 60, it is impossible to play with an interp lower than 0.035 approximately 30 fps serverside. They have 3 16-man CS server, an 18-man CO and an 18-man NS server on the same box ¬_¬

    I would play on another server but that is the best in the UK <!--emo&:(--><img src='http://www.natural-selection.org/forums/html//emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif' /><!--endemo-->
  • PreciousPrecious Join Date: 2003-03-18 Member: 14652Members
    Where did everyone learn about this command and what it does? I seen help files on other command but not this one.
    Also I now wonder what other command there is to change things like this.
  • cryptcrypt Join Date: 2004-04-22 Member: 28091Members, Constellation
    @Precious

    look at the first post of this thread (netcode.doc)

    @topic
    I also had bad experiences with interp 0 and updaterate 101 (laggy models on a normal public server). Now I'm using updaterate 101 and interp 0.03 and I feels like my aim has become a little better
  • SaltzBadSaltzBad Join Date: 2004-02-23 Member: 26833Members
    edited June 2004
    <!--QuoteBegin--|HN|-_Prodigy_+Jun 13 2004, 05:15 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (-|HN|-_Prodigy_ @ Jun 13 2004, 05:15 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> first choose your update rate, then make the interp 1/updatrate

    I use 15, because once in a game STEAMDHAMS had told me that to find my considerable updaterate, I should:

    turn on net_graph 1

    Look between the number representing my FPS, and the number representing my updaterate (which was at the time 60 fps and 60/s)

    Look between the 2 numbers, and you'll notice (if a slow PC) numbers quickly changing, with the letters ms next to it, thus being your milliseconds of lag

    he told me to lower my updaterate until those numbers are gone, which i did



    To find your interp, take 1 and divide it by your updaterate, making mine .066




    If anyone sees a fault with this post, lemme know asap, because this is what i've been using for a while, but that night jink and king unlocked interp, i was there as well, and i noticed a difference, but not as greatly as theirs... but they both play with high updaterate and MS of lag... so i dunno <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Sorry for quoting the whole post, but this makes shockingly little sense. Did you launch your own server and manage to eliminate any display of latency? Thats great. But in an online game its physically impossible to not have latency, unless you're running the server.

    Setting your updaterate to 15 sounds pretty much like someone pulling your leg, to be honest. Thats extremely low, and while it would result in ridicoulusly easy visual models to shoot at, they'd also be heavily incorrect (because again, most of them are just predicted frames, not representing the actual movement - and prediction is built to smooth things out, so its always superbly easy to track). But thats almost certainly not a beneficial setting, unless you're on 56k.
  • matchboxmatchbox Join Date: 2003-10-31 Member: 22179Banned
    Here's a hint: try looking at the first post if you have a question, most of the posts here ask for answers that have been adressed in netcode.doc.
  • rknZrknZ Join Date: 2003-10-23 Member: 21885Members
    edited June 2004
    What I do is have my interp on 0 and my updaterate on 100.

    When I enter the server I look at the netgraph, and lower my updaterate (which changes the interp) until there are no red lines left, then the jerky models stop. There are still orange and red diagonal lines but no longer the red solid lines at the very top of the blue graph.

    I usually end up with an updaterate of 40-60 depending on the quality of the server.

    Also you can set it up so you can't see your ping in net graph, but that isnt accurate, the ping in the scoreboard IS.

    Red Solid Lines - update 100:
    <img src='http://homepages.nildram.co.uk/~richens/netg1.jpg' border='0' alt='user posted image' />

    Smooth Model Movement - update 60:
    <img src='http://homepages.nildram.co.uk/~richens/netg2.jpg' border='0' alt='user posted image' />

    Comparing those bad servers to a good server now:

    Perfectly Smooth Model Movement - update 100:
    <img src='http://homepages.nildram.co.uk/~richens/netg3.jpg' border='0' alt='user posted image' />
  • TyrNemesisTyrNemesis trigger_CUT&#33; Join Date: 2003-09-17 Member: 20942Members, NS1 Playtester, Contributor, Constellation
    <span style='color:green'>*phased*</span> to General Discussion.
  • FreagaZFreagaZ Join Date: 2002-11-09 Member: 7894Members, Constellation
    <!--QuoteBegin-rknZ+Jun 12 2004, 12:55 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (rknZ @ Jun 12 2004, 12:55 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Create a config file in this folder:

    C:\Program Files\Steam\SteamApps\email@blah.co.uk\half-life\nsp

    save it as it interp.cfg

    In the config have this:

    ex_interp "0.1"
    alias ex_interp

    -------------------------------

    Then in the command line options / launch options (right click - game properties) put this in:

    -exec interp.cfg

    Then the next time you start your game the interp will be locked on the value you put in.

    I would mess around to find a value which suits you.

    1/updaterate should be the lowest setting (i wouldnt use 0 if i were you as it wont know what your updaterate is when it first starts up) and will provide the most accurate representation of the hitboxes.

    And realistically I wouldnt go above 0.07 (0.07 will still give you smooth game, but be better than 0.1) <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    I didn't quite understand WHERE am I supposed to put this "-exec interp.cfg"

    Could someone explain this in plain english so that everyone could understand?
  • AaronAaron vroom vroom der party startah Join Date: 2002-11-05 Member: 7020Members
    <!--QuoteBegin-FreagaZ+Jun 14 2004, 10:57 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (FreagaZ @ Jun 14 2004, 10:57 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->I didn't quite understand WHERE am I supposed to put this "-exec interp.cfg"

    Could someone explain this in plain english so that everyone could understand?<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Am I the only one bemused but disturbed by the fetishing over these arcane settings? I can't be the only one whose connection just works without endless tweaking. Won't anybody think of the children?!
  • wascally_wabbitwascally_wabbit Join Date: 2003-09-09 Member: 20701Members
    edited June 2004
    You'll need a shortcut to NS somewhere.

    Now, right-click the shortcut, properties, and under "Target" go all the way to the right.

    you should see stuff like -applaunch 70 -game nsp -console, etc.
    just add -exec interp.cfg to the end.



    Aaron: We're all interested because it may be the cause of terrible hitbox lag that a number of people are experiencing, and a generally un-fun experience at times.
  • FreagaZFreagaZ Join Date: 2002-11-09 Member: 7894Members, Constellation
    edited June 2004
    <!--QuoteBegin-Aaron+Jun 14 2004, 10:40 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Aaron @ Jun 14 2004, 10:40 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-FreagaZ+Jun 14 2004, 10:57 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (FreagaZ @ Jun 14 2004, 10:57 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->I didn't quite understand WHERE am I supposed to put this "-exec interp.cfg"

    Could someone explain this in plain english so that everyone could understand?<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Am I the only one bemused but disturbed by the fetishing over these arcane settings? I can't be the only one whose connection just works without endless tweaking. Won't anybody think of the children?! <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
    Some of us are actually annoyed by the fact that they need to shoot 2x-3x amount of fire (on target ofcourse) onto a skulk for a kill just because some settings are screwed up... Nice to know you're not one of them... BUT SOME OF US ARE <!--emo&:D--><img src='http://www.unknownworlds.com/forums/html//emoticons/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif' /><!--endemo-->
  • OptikalOptikal Join Date: 2003-02-15 Member: 13583Members, Constellation
    using a cl_updaterate 275 you can get your ex_interp to 0.003 by aliasing ex_interp after you set it. This can be prevented by a maxupdaterate variable serverside or possibly CD.
  • coriscoris Join Date: 2003-07-08 Member: 18034Members, Constellation
    In steam, under my games, right click on Half-Life and then Launch Properties (or something simliar). THen add -game nsp -exec interp.cfg (althouth i do think its +exec, at least thats what i use <!--emo&::nerdy::--><img src='http://www.unknownworlds.com/forums/html//emoticons/nerd.gif' border='0' style='vertical-align:middle' alt='nerd.gif' /><!--endemo--> ) and start half-life. If -exec doesnt work try +exec and vice versa
  • LichoLicho Join Date: 2002-11-02 Member: 3858Members, NS1 Playtester
    Just few small notes -
    - ex_interp 0 sets it to proper value only in CS, not in HL itself, so NS should implements same 1/updaterate routine before just "locking it" :-)

    - optikal, sv_maxupdaterate is just number of updates server sends to clients, it cannot limit cmdrate of client, client can still flood server with their packets..
  • CheesyPetezaCheesyPeteza Join Date: 2002-11-24 Member: 9784Members, NS1 Playtester, Constellation
    You should also note that unless the server you are playing on has changed their default settings. cl_updaterates maximum value will be 30.
  • rknZrknZ Join Date: 2003-10-23 Member: 21885Members
    <!--QuoteBegin-Licho+Jun 15 2004, 02:14 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Licho @ Jun 15 2004, 02:14 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Just few small notes -
    - ex_interp 0 sets it to proper value only in CS, not in HL itself, so NS should implements same 1/updaterate routine before just "locking it" :-)
    <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    With my interp set to 0 in NS it adjust itself automatically when I change my updaterate.
  • surprisesurprise Join Date: 2003-01-16 Member: 12382Members, Constellation
    yep,, you should even get a message in your console like "updaterate forced to xxxx due to interp" or something like that
  • BobTheJanitorBobTheJanitor Join Date: 2003-12-10 Member: 24228Members, NS1 Playtester
    You've got it backwards. If you set your ex_interp to 0 and then lower your updaterate, it will say 'interp forced up to XXXX'. Which is why if you're tweaking you should always start with a high updaterate and interp 0, and then tweak downwards.
  • altairianaltairian Join Date: 2003-06-18 Member: 17459Members
    I think I know the reason for the ex_interp lock now.
    After setting my interp to an appropriate value (1/cl_updaterate with updaterate at 30 made EVERYONES movement a little jerky so I have it at .05...) there's an occasional player that has really choppy movement. It's either due to their cl_cmdrate or some random unknown factor. I'm leaning toward the RUF since I've asked a couple of these choppy players what their cmdrate was set to and they've said numbers that should perform just fine. Interp .1 makes every player move smoothly all the time (unless they're laggots of course <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html//emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo--> )
  • rknZrknZ Join Date: 2003-10-23 Member: 21885Members
    ex_interp was locked at 0.1 because it used to make the hitboxes lag behind the player model considerably at any other value.
  • PalinPalin Join Date: 2003-03-24 Member: 14848Members
    It seems to me that a slightly more complex solution is in order. My first observation is that the client and server update rates have to ideally mesh/match to get the best performance. Why not simply have the client retrieve the avg fps of the server when it connects and set its own rates and interp accordingly. The only snag in the whole problem is for people to correctly specify the type and size of their individual pipes. Obviously a 56ker couldn't always set its rates to match/mesh with the server... so it would then alter its settings to slightly less than its maximum bandwidth (for consistency). This solution can only help all problems mentioned from producing consistent AND accurate 'look and feel' as well as optimize the net traffic so as to not flood servers with needless packets.

    Can we say doable?
  • rknZrknZ Join Date: 2003-10-23 Member: 21885Members
    For the rates to dynamically alter to each server would mean a lot of work for Valve with the HL Engine and I don't think it will be done.

    Also each server SHOULD be running at 100fps or more, if it's not then it is a case of the owners trying to get too much out of thier box.
  • BobTheJanitorBobTheJanitor Join Date: 2003-12-10 Member: 24228Members, NS1 Playtester
    100 fps is a lot easier to reach in a game like CS than it is in NS. With all the entity complexity in the maps, plus all the player placed structures that the server has to keep track of ALL THE TIME and not just when it's in view (like your client does) saying servers should always run at 100 fps is actually asking quite a lot.
  • EmanonEmanon Join Date: 2003-05-13 Member: 16254Members, Constellation
    <!--QuoteBegin-BobTheJanitor+Jun 15 2004, 03:43 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (BobTheJanitor @ Jun 15 2004, 03:43 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> 100 fps is a lot easier to reach in a game like CS than it is in NS. With all the entity complexity in the maps, plus all the player placed structures that the server has to keep track of ALL THE TIME and not just when it's in view (like your client does) saying servers should always run at 100 fps is actually asking quite a lot. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    Good point,

    Everyone needs to remember anything over 100 fps is just a waist of cpu

    Personally anything over 85 is a waste, You dont need every frame to be match the server. In NS a constant FPS of 60 even late game is good.
  • rknZrknZ Join Date: 2003-10-23 Member: 21885Members
    It was proven that differences can be noticed up to 200fps serverside.

    And I know NS servers take up a SHEDLOAD of CPU compared to CS, which is why people who run NS servers should adjust, whether it be player size or number of processes per box, so that it runs at around 100fps constant.
  • titaniumtitanium Join Date: 2003-10-31 Member: 22166Members
    <!--QuoteBegin-rknZ+Jun 15 2004, 06:29 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (rknZ @ Jun 15 2004, 06:29 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> people who run NS servers should adjust, whether it be player size or number of processes per box, so that it runs at around 100fps constant. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
    hahahahahahaha

    you've obviously never run a natural selection server
This discussion has been closed.