Video/game settings and you.



  • A word on in-game network settings:

    If you haven't already done so, in the game, open the options menu and select networking. If you have a form of broadband as an innerweb connection, select cable/t1 rate and set the packet size to 450 and rate to 32 or whatever the max is. If you are on a slow form of dsl or even dialup, you can still play well at dialup rates. Just set the packet size to 256 and the rate to 16, If you see lag spikes in game, set the rate to 14 but leave the size at 256 as that is more or less close to the least usefull size for decent play.

    What these settings control is the rate of packets and their size, to and from the server. The rate sets the move packets per second you send to the server and gamestate updates back to your client. Higher rates reduce latency. The server will adjust the size of the packets sent to you and the rate at wich they are sent automatically. The packet size should not be set lower than 240 or so in T2, but Tribes plays fine with a size of 200. This variable netcode ability is how the server deals with guys who who are on broadband and those who are on dialup playing in the same match. The original Tribes was written to play excellently on dialup, and it does. T2 plays almost but not quite as excellently on dialup as the netcode was overhauled and some apparent latency was added, my guess is in the security features of the T2 netcode that Tribes lacks.

    A word on updates:

    The thinkers amongst us may be saying to themselves: So if I only get 32 packets per second from a server, 32 new update frames drawn on my screen about what is happening in the game.... where do the frames come from for the rest of the second? Well, your client is a server too and keeps track of gamestate but as a client your gamestate is not authoratative, it can interpolate some frames as needed but it can be overridden by the server as the server is all seeing, all knowing, and decides who shot first.

    Say you are running at 100FPS on screen and 32pps update rate. What is being shown on your screen for the rest of those frames between the 32 updates you get? Your client as a server does a neat trick called interpolation. It applies physics to each projectile and moving object such as players and vehicles and steps them frame by frame according to their velocity and direction of travel and the ruleset of the server untill updates are received. Ruleset is the fancy name for mod. This clientside interpolation ensures a smooth game when you run more frames per second than you get updates from the server. If all you ran was 32fps you would not need interpolation, but interpolation is a safety net and a game smoother and is why players warp sometimes when your connection lags or is broken. The server sends the next update that finally gets through to your client and your client, being obedient to the server, snaps the players and vehicles and projectiles to their actual server-certified position and condition. And now you know!
  • A word on consumer grade routers:

    Rooters are everywhere. They run teh interwebz. And you might even use one at home. If you do and that rooter runs the Linux 2.4 kernel in its os you can reduce latency a bit by employing a rooter that runs the Linux 2.6 kernel. The 2.4 kernel is not preemptive whereas the 2.6 kernel is. Whatever the 2.4 kernel is doing before you fired that shot, it keeps on doing till it is done with whatever it was doing before it says to your fire packet "ok, now what where you saying? or at least one supposes that is how it goes. The 2.6 kernel, however, will drop whatever it was doing and perform the task requested, interrupting what it had been doing to obey your command. The diff, as usual, is not night and day but a good player will immediately notice on going from a 2.4 to a 2.6 rooter that they are much more "almost like being inside the server" than with rooters that use 2.4 or other non preemptive kernels. I usualy use DDWRT as an upgrade over any rooter that can accept it, DDWRT offers a lot of options and configurations that the normal oem os do not offer. And conveniently enough, the DDWRT site will show you what firmware is available to your rooter, and will tell you what kernel to use. Most of the N rooters I have seen are already 2.6 kernel boxes, so you are probably living well already, but if you feel like trying your hand at a different rooter os, give DDWRT or one of the others a try. If you have an older rooter that only speaks B or G you likely have a 2.4 kernel os inside. It would do you well to get a newer rooter that uses the 2.6 kernel, if you want the least response time possible in gaming. The hitch is that you can't just drop a 2.6 kernel into a 2.4 piece of hardware, at least as far as the embedded systems like rooters go. If you run a pc as a rooter and it runs Linux you should easily be able to employ a 2.6 kernel, as it is not a embedded hardware system. Embedded hardware limits what it can and can't accept as far as what code it runs, unlike a typical AMD or Intel cpu meant for use in a standard pc. Some hardware with the 2.4 kernel can be flashed to run 2.6, but these are quite rare. Besides, if you have a 2.4 rooter, this is the perfect reason to upgrade to a new rooter.

    You can find out about DDWRT here:

    Now you all know how I am all about doing stuff that can fooch a system, and this one is one of them and this is your warning.If you've no experience installing firmware you might want to avoid this. If you do not follow the instructions to the letter in how to install firmware you will likely turn your hardware into a brick. And what's a brick good for? You can hold doors open with one, throw it at someone, make a house out of them, you get the idea. But just as surely all computer and electronic devices run on smoke, if you brick your rooter it will then be as usefull as a brick. Don't think electronics run on smoke? Let the smoke out of any electronic device of your choice and see if it will run afterwards. Have fun trying to get the smoke back into your device, by the way.
  • A word on mice and ports:

    Most of us run a usb kb and mouse, right? Well, sometimes running a mouse on the ps2 port, if your system has one, will reduce latency a bit. Many mice come as usb natively but have a ps2 adapter in the box as well, if you lack a ps2 adapter go find one. Once again, this is not a night and day thing as far as response differences go, but is something one can easily try for themselves and see how the game plays on each input. I find that ps2 is far more accurate and responsive than usb, and I presume that added inertia when running usb is due to the usb driver. Be that as it may, try it and see what you think, you may find a better game.
  • A word on Readyboost and Superfetch
    And that word, or words, is USE THEM.
    These are services found in Vista and 7, and all furture M$ os will use likely them. Their roots are in XP's prefetch service, but they are much more advanced, to the point of even knowing the usual times you fire up a certain app. Use them.,1532.html

    They are to your advantage.
  • A word on game pc and game server home builds is in the works.
    Stay tuned.
  • A word on game pc and game server home builds is in the works.
    Stay tuned.
    You need to write a book.
  • Blakhart, I just re-read this entire thread for the second time and am impressed once again with the time and effort you have put into this 'body of work'.

    I have implemented a few of the changes you recommended, and I'm hoping they will prolong the gaming life of my old machine.

    Thank you very much. :D
  • I'm about done with the home build writeup, just a few more tidbits and it should be ready. Will have to make it an attachement as it's kinda lengthy, just as you expected. None of the game specific tips are in it as are in this thread so far, just pc build ideas. I have been specialising in keeping older systems usefull for a long time now and have it pretty much down pat. The writeup for new builds also applies to rebuilds/refreshes of older gear so I hope everyone who reads it gets something out of it. Thanks for the encouragement by the way, I appreciate it. If it wasn't for the hardcore t2 players I wouldn't have anyone with wich to share my arcane pc hobby.
  • edited November 2011
    A word on game pc building/rebuilding
  • Some words on mem timing


    "What is tRAS and why is it backwards and important at the same time?

    The word latencies is generally used to describe a delay. However, Merriam-Webster defines the word’s origin as period of dormancy and in technical parlance, latency is often used to describe simply the duration of any event. One example is the PCI latency which describes the time any device has access to the PCI bus before it will be automatically disconnected to allow other devices access to the same resources.

    Why are we talking about this? Very simple, the access latencies of any device to the PCI bus are usually eight cycles, but the total latency can be set from 16-256 cycles. This shows that the same word is used to describe two entirely different parameters, the first being the time until any transactions can start, the second referring to the time that is available for transactions (minus the access latencies). As an example, a PCI latency of 32 will carry a penalty (access latency) of 8 cycles which leaves 24 cycles for actual data transfers. Therefore, decreasing this latency will not increase performance, on the contrary.

    The exact same is true for tRAS short for the RAS Pulse width. Historically, tRAS was defined as the time needed to establish the necessary potential between a bitline pair within the memory array until it was safe to write back the data to the memory cells of origin after a (destructive) read. Pay attention to the word read here.

    Memory, in many ways is like a book, you can only read after opening a book to a certain page and paragraph within that particular page. The RAS Pulse Width is the time until a page can be closed again. Therefore, just by definition, the minimum tRAS must be the RAS-to-CAS delay plus the read latency (CAS delay). That is fine for FPM and EDO memory with their single word data transfers. With SDRAM, memory controllers started to output a chain of four consecutive quadwords on every access. With DDR, that number has increased to eight quadwords that effectively are two consecutive bursts of four.

    Now imagine someone closes the book you are reading from in the middle of a sentence. Right in your face! And does it over and again. This is what happens if tRAS is set too short. So here is the really simple calculation: The second burst of four has at least to be initiated and prefetched into the output buffers (like you get a glimpse at the headline in a book) before you can close the page without losing all information. That means that the minimum tRAS would be tRCD+CAS latency + 2 cycles (to output the first burst of four and make way for the second burst in the output buffers).

    Any tRAS setting lower tRCD + CAS + 2 cycles will allow the memory controller to close the page “in your face!” over and again and that will cause a performance hit because of a truncated transfer that needs to be repeated. Along with those hassles comes the self-explanatory risk for data corruption. That one is not a real problem as long as the system is kept running but in case it is shut down and the memory content is written back to the hard disk drive, the consequences can be catastrophic. For the drive, that is.

    What does this spec mean?

    Take for example 2.5-4-4 as the latency rating for a module. Latency is a measure of delay, that means the 2.5 rating in 2.5-4-4 indicates a 2.5 clock cycle delay. And the 4 ratings mean a 4 clock cycle delay. The clock cycle delays that these ratings are measuring is what determine how long it takes your CPU to write or remove data from memory. So the lower these latencies are, the less time your CPU spends idle waiting for data which results in higher performance.

    The position of the rating in 2.5-4-4 determines what latency the rating is referring to. The ratings, in order, represent the latency ratings for CAS, tRCD (RAS-to-CAS delay), and tRP (RAS Precharge). It would take a long time to explain what each of these latency ratings means, so to make a long story short the lower the latency the higher the performance of your CPU."

    What they're saying is going from 6/2/2/2 to 5/2/2/2 pretty much gaurantees eventual data loss.

    Going lower than a tRAS of 6 in this case means trouble. Add the CAS to tRCD (RAS-to-CAS delay), plus 2 cycles to get the most reliable tRAS for your system.

    Use memtest86 (or similar) to verify your settings are stable, allowing a few complete passes error free before you call it good."
  • The other day there was issue with the master server. Setting servers you play on as faves in the server browser will bypass the issue as long as the ip and port of those servers does not change.
  • Some of the clientprefs strings settings described here apply to t2:
  • Before I get accused of cheating .... again.
    If you turn off the ingame sound and don't have a media player playing or other noise source while you play t2 you can easily hear someone approaching from behind pretty much no matter where you are ..... unless other game sounds are louder. So next time you try to sneak up on someone sniping from behind a mountain peak and they jump before you can lance them or whatever your plan is, they're not cheating, they heard you coming. Also, the cloak pack is pretty noisy and can be hear for a good distance, so you might think you're being sneaky but you really aren't.
  • I have an intel graphics chipset 128mb in my micro PC sooo....???
  • Hi there. Copy this and paste it into a new tesxt file, rename it as framskippa.cs, and copy it to your gamedata/base/scripts/autoexec folder. Run t2 and go into the scripts menu, find frameskippa and set it to 2 and see if that gives you any help. You have to have support.vl2 in the gamedata/base folder to run most scripts by the way.
  • edited June 2012
    Just tried the 301.42 driver from nvid and the fxaa antialiasing mode now works in both t1 and t2 games. What this does is give you almost 4x antialiasing image quality without the performance hit. For cards with performance issues or to decrease latency it might be a good idea to get this driver and use the fxaa mode rather than fsaa or msaa. This is for Nvidia cards only. Works in other games as well. Games looked fine to me and no anomalies noted other than text was a little blurred unlike with fxaa forced in the 275 driver wich was a disaster.
  • More on fxaa:

    "If you have a GeForce card you might want to grab the latest batch of beta drivers from the Nvidia site. Nvidia say they’ll deliver a performance boost in Skyrim of up to 20%, which is nice, but the Nvidia FXAA functionality is perhaps a more interesting addition. That’ll allow us to force a faster form of anti-aliasing across hundreds of games from the Nvidia control panel. The new shader-based antialiasing function should help to smooth out edges at speeds “60% faster than 4xMSAA.”

    The new drivers also add Adaptive Vsync. This monitors your framerates and switches vsync off when they start to dip, helping to maintain a consistent framerate with less stuttering."
  • A word on dialup play:
    If you are on dialup all is not lost. T1 was written to be played and played well at dialup rates. T2 is the descendant of T1 and shares this ability. To go a bit further than just setting the in game networking menu tab to 56k you can go into clientprefs.cs (found in GameData\base\prefs) and edit these lines after saving the original somehere safe in case you fooch things up:

    $pref::Net::PacketRateToClient = "32"; //if ping starts to run away set to 20 or 16
    $pref::Net::PacketRateToServer = "16"; //if ping starts to run away set to 14
    $pref::Net::PacketSize = "200"; //this one is very important, set no higher than 256 when on dialup

    The above is for dialup only. The downlink from the server to you offers more bandwidth than the uplink so try to run at 32, if the game still lags or ping increases after a time and stays that way reduce the rate to client to 29 or so. Reduce it a bit at a time till you find the max rate your modem can handle. Do the same for the uplink side, I find that 14 is about all a modem can handle, 16 may cause a ping race condition where it just gets higher and higher. Edit, save, serve, enjoy. You can use notepad to edit .cs files, but I prefer Tribal IDE found here:
  • edited July 2012
    Dude. This is SO FREAKIN' helpful, that you need to have it penned. Thx so much!

    EDIT: I meant pinned. :)
  • "I have an intel graphics chipset 128mb in my micro PC sooo...."

    In light of the above specs and what they represent to the game we love, just keep in mind that t2 had as best possible target card a nvid gf3 - wich is a dx8 class card, so most onboard grafix devices made in the last few years should have similar or superior performance to the gf3 target card. T2 doesn't take a whole lot of card memory, and only about 60mb system memory use, it's a low spec game compared to what passes for 3d fps games today. The beauty of running t2 on newer video devices is that the raw processing and memory speed of the newer vid devices allows us to enable image quality enhancements that t2 sorely needs. Enhancments such as fsaa/msaa/fxaa and anisotropic filtering as I mentioned in the first posts of this thread. They make what the game devs gave us look the best they can. In the past, enabling these options would make vid cards crawl, but today most video output devices laugh at t2 texturing demands. So if you're not running a tnt2 or rage128, go ahead and enable them, t2 needs all the help it can get.

    Specs on gf3 cards for those geeky enough:
  • A word on t2 and windows 8.

    I have it on good authority that t2 does indeed play on 8, so hope is not lost for those with 8 systems. How it gets installed and started up I have no clue, however.
  • A word on t2 and windows 8.

    I have it on good authority that t2 does indeed play on 8, so hope is not lost for those with 8 systems. How it gets installed and started up I have no clue, however.
    Who's your authority? :P
  • Someone who plays t2!
  • A word on nvidia game profiles:
    Game profiles are applets commonly found in most any current vid card control panel, at least those cards intended by the maker to have sufficient performance to play games. They provide for the ability to have separate game profiles for each game, and for the desktop as well. The desktop profile is the global setting, so you know. Anyway, these profile thingys are awesome since you no longer have to go and change vid card settings between games (if you did in the past) as the pc will alter them accordingly whenever you fire up the game or app or whatever you have made a game profile for. For instance, I can have the trheaded optimisation enabled in Tribes1, but in tribes2 it results in noticeable game stutter. So T1 can have it enabled and T2 can have it disabled and all I have to do is fire up either game.

    Here is my example nvidia t2 profile:
    (please keep in mind I am after image quality over fps in the following example)

    Anisotropic Filtering; 16
    Antialiasing-Gamma Correction; on
    Antialiasing Mode; Override
    Antialiasing Setting; 2
    Antialiasing Transparency; Supersampling
    Conformant Texture Clamp; Use Hardware
    Error Reporting; Off
    Extension Limit; Off
    Maximum pre-rendered frames; 2
    Multi-display/Mixed-GPU acceleration; Single display performance
    Power Management mode; Prefer maximum power
    Texture filtering-Anisotropic sample optimisation; Off
    Texture filtering-Negative LOD bias; Clamp
    Texture filtering-Quality; High quality
    Texture filtering-Trilinear optimisation; Off
    Threaded optimisation; Off
    Triple buffering; Off
    Vertical synch; Force on

    Now if I was after fps I would set the game profile up thusly:

    FXAA; On
    Anisotropic Filtering; 16
    Antialiasing-Gamma Correction; off
    Antialiasing Mode; Off
    Antialiasing Setting; 2
    Antialiasing Transparency; Off
    Conformant Texture Clamp; Use Hardware
    Error Reporting; Off
    Extension Limit; Off
    Maximum pre-rendered frames; 2
    Multi-display/Mixed-GPU acceleration; Single display performance
    Power Management mode; Prefer maximum power
    Texture filtering-Anisotropic sample optimisation; On
    Texture filtering-Negative LOD bias; Clamp
    Texture filtering-Quality; High performance
    Texture filtering-Trilinear optimisation; On
    Threaded optimisation; Off
    Triple buffering; Off
    Vertical synch; Force off

    If your game profile does not provide for FXAA simply use the antialiasing settings in my good image quality example at the top there, but use msaa rather than ssaa, and from there down use the options after antialiasing in the high performance example.
  • A word on cable Modems;

    Cable innernets service is based upon the last come best served algorithm (lol). What that means is if your modem has been up for days, weeks, months, it has fallen to the back of the line as far as bandwidth and latency goes. The cable co is spreading the available bandwidth around to their oversubscribed customers with this mechanism. Oversubscription is where say you're an isp and you have bandwidth for say half the city at any one time. Well, half the city is likely doing other things than horsing around on the innernets, so everything runs ok and the customer never notices a slowdown, the company saves money on bandwidth, etc, untill more than half of the people get on line. Then everyone slows down. But with the last come best served algo, the last guy whose modem synched with the cable co will get best service till someone else comes along and bumps him down the line by resetting their modem. So, when gaming is important, it may pay to unplug the coax cable from the modem and let it sit till the synch lights and the rest go out, then plug back in. You will then be top dog at the cable isp service, at least for a while.
  • A word on OS updates.
    If you have your system, regardless of what OS you run, set to automatically update itself you may want to consider changing that setting. There have been instances where a system has automatically updated and then at the next boot the system failed and a bootloader had to be installed to recover the OS. One way around such issues is to set the system to inform you when updates are available buit do not install them. Then after the update has been out a few days or weeks and no mass reports of failure due to the update you might consider it safe to now update. If an update comes along and it fooches everyones systems you might want to not install that update. You don't have to feel bad for letting a few million others beta test all OS updates for you, consider them a blessing! Some update issues are hardware related to having specific hardware installed in any given update-problem system such as mobo or disk or even cpu, some update issues to specific OS settings. Regardless, when your system is fooched it is no fun. Just an idea and yes this stems from a recent (and past) OS update issue.
  • A word in fine tuning the netstack;

    "Because multimedia programs require more resources, the Windows networking stack implements a throttling mechanism to restrict the processing of non-multimedia network traffic to 10 packets per millisecond."

    The above may indicate your os is limiting your gaming needlessly.

    "By default, the value for the NetworkThrottlingIndex registry entry is set to 10. When the NetworkThrottlingIndex registry entry does not exist, the behavior resembles the default behavior. Network throttling can be completely turned off by setting the value to FFFFFFFF (hexadecimal). You must restart the computer after you make a change to the value of the NetworkThrottlingIndex registry entry."

    Nice M$ provided a means around this issue.

    "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\
    Name : NetworkThrottlingIndex
    Value type : DWORD
    Value data : From integer 1 through integer 70 (Decimal) (Decimal) "

    The above is the regkey to look for.

    So in summary;
    Open regedit as admin
    Find: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile
    Set value to FFFFFFFF, wich results in 0xFFFFFFFF displayed to the right of the entry, default value is 10.

    This is for Windows Vista, 7, etc and has offered at least some relief in lag spikes to some users.
    Use at own risk, fooling around in registry can cost you if you don't know what you are doing or follow syntax.
  • edited July 2014
    A word on in-game issues;

    If your game decides to go from full screen to windowed on its own, there may be an app trying to get focus running in the background. In such a case you might want to shut down any apps other than the game and see if that helps. Also, make sure you're not hitting keys by mistake whilst playing, making wierdness happen in the game.
    For example, when I go to throw the flag I often toss a grenade, set my invo pref to medium armor antiaircraft turret pack, and never drop the flag - all due to my fat fumblefingers.

    When faced with "lag" in game, make sure nothing else that could use the network is running when the game is running, or live with it. Otherwise see if the server is showing packet loss on your connection. If so, that isn't created by the server, it's a network issue. If it was a server or near-to-the-server networking issue everyone in the server would show packet loss and a high ping. To find out where that issue resides do a tracert;
    Or do it the fun way;
    This is an excellent networking tool, one of my favs and of course it's free.

    So say you find some packet loss in your isp, well you can contact your isp and inform them of it and they might fix it. If it's outside your isp there's little to be done save for waiting for the net weather to change.
    Innernet weather;

    If there's no packet loss or high or wandering ping, the "lag" issue likely resides in your system, something is upsetting the game and you need to find out what it is. (This barring any physical issues such as hot cpu or vid card, corrupt drive or memory, faulty mobo, or flaky psu.) Task manager is good for that, as are any number of other tools that do the same job.
    Here's a fancy tool you can dl and use to investigate what's running on your pc;

    Also, do a virus/malware scan with updated signatures so you can rule out someone's n0t 5te4l1n yu0r m3g4hurtz lulz.
  • edited August 2014
    Some copy/paste clientprefs settings to try;

    These go inside your clientprefs.cs file, simply copy/paste them directly into the file. First make a backup of your existing clientprefs in case you mess things up.

    $pref::OpenGL::textureTrilinear = "1";
    Copy paste intact.
    The above tells t2 to do trilinear filtering on the game, makes for nicer image quality and doesn't hurt performance
    This one isn't found in standard t2 clientprefs so you add this one to the file intact..

    $pref::OpenGL::maxHardwareLights = "8";
    Edit in prefs, it's already there.
    If you have a recent vid card meaning in the last ten years or so you can bump the max hardware lights up to 8, this makes pretty lights render faster, most people have this set to 4 or less. This one is already in t2 so change the 4 or whatever it is to 8. Most recent (meaning the last ten years or so) vid cards seem to have a cap on 8 hardware lights.

    $pref::sceneLighting::cacheLighting = 4;
    Edit in prefs, it's already there.
    This pref tells t2 to use the best image quality detail in scene lighting, set it to 4 wich is its max, the game comes with it set to 0.

    $pref::sceneLighting::terrainGenerateLevel = 4;
    Edit in prefs, it's already there.
    This pref tells t2 to use the best image quality detail in terrain generation, set it to 4 wich is its max, the game comes with it set to 0.

    $pref::TS::detailAdjust = "5";
    Edit in prefs, it's already there.
    This setting tells t2 how far away to make images at their best detail, it's set to 0 in default t2 installs meaning you don't get best detail unless you're right next to something. I set mine to 700 (wich hopefully is beyond the normal map fogging distance) and am enjoying much more detail, look at the detail on players after you change this setting, you should notice a definite improvement.
    One effect is there's no more texture "popping" from low detail to highest when one gets closer to in game entities.
    For example, the stone arches in circle of stones will no longer pop back and forth from low detail to high. This may reduce vid card memory traffic as the max detail textures are loaded and kept there rather than low detail and then popping to high detail as one draws near the object and vice versa.

    All of these came from torque engine discussions at garage games forum, wich was founded by the guys who made t1 and t2 and starseige and a mess of other games. Torque is the t2 engine, wich is based on darkstar, the t1 engine.
    And now you know!
Sign In or Register to comment.