timmingsThis is from centi, who i consider, with Krayziepop and some others, a real guru.
[PM window just told me that my reply was too long to send. So I am now sending it to you in two parts]
I've been kinda busy at work lately or I would have cleared up the timing confusion already. Here's a quick & dirty guide for you. Everything can be adjusted with NiBiTor. The memory timings don't make a huge difference. it's just something interesting to play with. If you are clocking your memory on the conservative side, say 400 - 550 Mhz or so.. it can add 200 or 300 points to your 3Dmark05. But it makes a lot less difference with fast memory clocks - usually <100 point difference in the score. So it's not really useful in real life. You're trading off stability (safety margin) for marginally higher scores. The delta offset (δ) however is much more useful & can make a real difference on some GS cards.
Okay, memory timings are adjusted on the NibiTor timings tab. Notice that clicking on this tab gets you a standard, 'this can be hazardous' warning. Well, it really can be hazardous. It's important to note that there are two ways to change the memory timings. One is to write them to the card registers (RAM) on the fly. This is a relatively safe approach. If you lockup your computer, the timings will revert to the stock timings in the rom when you reboot. And it's rare (but not impossible) to physically damage memory chips by overclocking. However, if you edit the timings & save them in the rom file & flash it.. that is dangerous. Aggressive timing or typos can make your card UNBOOTABLE. I highly recommend that you DO NOT SAVE memory timings changes to the rom file unless they are very conservative & well tested first. It's much safer to change them in RAM, rather than save them to the rom & flash the timing changes.
Open a rom in NibiTor & click on the timings tab. There are 7 timing sets. AFAIK, the 7900GS cards all use timingset 7 only. In any event it's easy to check this.. just click on "autoselect" to find out which timingset is active. Next, click on detailed timings to get a list of timings that are relatively safe to edit. The stock GTX timings usually read 31-39-22-9 & 10-6-8.
Large changes to these settings will progressivley get gory artifacts.. video corruption, parity errors, lockups & BSOD's. So change the settings gradually & test with ati tool for artifacts after each change before incrementing the settings again. Lower is faster for all of the timings. Note that tRC MUST ALWAYS = tRAS + tRP. And tRFC is always > tRC. Usually you would adjust the left hand column settings first, before touching the right hand column settnigs (which can't be changed much anyway, unless your memory clock is rather low).
For example, the lowest timings I can get on my card with a very thin safety margin are..
@ 500 Mhz memory clock: stock timing 31-39-22-9, 10,6,8 (8633)
lowest timing 21-29-14-7, 7-4-6 (8927)
@ 875 Mhz memory clock: stock timing 31-39-22-9, 10,6-8 (9802)
lowest timing 28-37-19-9, 10,6,7 (9895)
As a general approach, I'd suggest lowering tRAS by 10 or 15%, adjust tRC (tRC MUST EQUAL tRAS + tRP). Then change tRFC to be 6 - 10 higher than tRC. The last three timings can not be changed much at higher memory clocks. And expect lots of lockups if you play with these settings.
If you're still following this.. changing the detailed timings settings & clicking OK does not actually commit the changes to RAM yet. It just updates the equivalent hex numbers for timing0 & timing2 on the timings tab. To actually change them in RAM, you need to copy the updated hex numbers, then click on the test timings button, click get settings & paste the updated hex numbers into timing0 & timing2, click set timings & you will see another warning message. Clicking yes is when the changes will actually change the settings in RAM. You should test the timing stability by using ati tool to check artifacts for a few minutes before proceeding any futher. As you can see this is all very time consuming to test.
Changing other timing settings e.g. the hex strings in timing1, 3, 4 etc., is very experimental, not well understood yet & pretty much guaranteed to cause a lot of crashes.
Lastly is δ. Delta is a clock offset. By default the GS cards run the core & vertex shading pipes at the same speed. But you can adjust the shader pipes to run faster or slower, by adjusting the delta (offset) on the clockrates tab. This is really useful, as the shaders are usually the limiting factor. So you might find that your maximum apparent core clock is say 625 Mhz. But if you adjust the delta to downclock the shader by say 100 Mhz.. you might find that you can now clock your core to 675 Mhz. So your core (in this example) is really capable of 675 Mhz, but the shaders are limited to 625. So you now know that you can use an approximate core clock of 675, -50 δ (give or take a little) to maximize your overall performance. This usually makes a much larger benchmark difference, with a smaller impact on stability than the memory timings. This is particularily useful is you have an interest in minimizing heat. I can get a 9000 score @ 1V by properly adjusting the delta. To me, it makes a lot more sense to score 9000 @ 1v, rather than run at 1.24 - 1.32v to get a 10% higher score. The games I play work just fine at the 9000 level.
So, I HTH. When I have more time, I'll post a better guide.