PCI latency? a Q for Gurus

Discussion in 'Links' started by Emile, Jan 6, 2005.

Tags:
  1. Kuja

    Kuja Guest

    When you finish figuring out how to spell your name, you might like to look up the word "placebo" toxic warrior, because there's not a chance in hell your sound quality actually improved.
     
  2. GhostXL

    GhostXL Guest

    Messages:
    6,081
    Likes Received:
    54
    GPU:
    PNY EPIC-X RTX 4090
    First off....dont be rude...2nd off yes sound quality can be improved with this tweak. Sry if yours did not, you might not require the tweak like others do. So if your one of the lucky ones that didnt be happy and let the others who need this valuable info alone.
     
  3. Kuja

    Kuja Guest

    No it can't. I don't think you have the faintest idea what you're talking about either.

    The only thing it does is, at high latencies, prevent interruption of one device by another while it is transferring across the bus, or at low latencies it prevents buffer overflows.

    That is, the only impact is to prevent (in the case of soundcards) the popping/crackling associated with overflows/interruption. It doesn't improve quality a whit, because the data is still exactly the same.

    'Course you can believe what you want, if it makes you feel good :rolleyes:
     
  4. tykjen

    tykjen Member

    Messages:
    42
    Likes Received:
    0
    GPU:
    Gigabyte GTX 560 Ti
    nice prog! no more stutter in osund or video

    but my accton ethernet adapter runs at 80 latency..should i temper with it or leave?
     

  5. mentalboy

    mentalboy Guest

    Note: I would give link for this, but no longer on internet - expired.

    PCI Latency
    Prologue

    It's all about PCI latency. That's not a piece of conventional wisdom, mind you, any more than it's something you hear people say. At least, I've not heard anybody say it before, but maybe that says more about the circles in which I travel than about the locution itself. I don't know. All such silly babbling aside, trust me: it's all about PCI latency. I recently solved more than a dozen issues I've had with my PC ever since its inception. What's more interesting still is that some of these issues have plagued me for years, across several different machines. I think I finally understand the cause, and I'm as pleased as I am surprised about it. Thus, I'm writing in the hope that others may benefit from my struggles.
    The Problems

    The list of problems I've just solved is a long one, but they bear some similarities to each other. All of them have to do, in one way or another, with "stuttering", "hitching", pauses, and so forth. For years, I've had my system evince various and infrequent glitches when playing back MP3 files, QuickTime movies, etc. This is something you've probably all seen. You know how it goes: you're playing back a movie trailer, and the video or audio (or both) either repeats or comes to a stop for a brief instant. Maybe you're just playing MP3 files in the background, and your player stutters briefly when you launch a new application-this is the sort of thing I'm talking about. Prior to my recent troubles with my SB Live! sound card under Windows XP, which eventually drove me to upgrade to an Audigy 2 card, I never gave it much thought. I mean, lots of stuff is going on in the background in Windows, right? It just isn't reasonable to expect completely smooth playback... is it?

    Frankly, it is. I just didn't know it. What finally provided the incentive to investigate further was the v1.3 patch for Battlefield 1942 (BF1942), a video game with which I've had a love/hate relationship since the day I bought it. The game as it shipped originally didn't work for beans with my SB Live! sound card. Even the v1.2 patch didn't help matters much. When I finally got tired of dealing with the problems, I upgraded to an Audigy 2 sound card. I hadn't upgraded the sound in my rig for several years, so I figured I was probably due anyway. Needless to say, I was grateful when that fixed all the problems with the sound in BF1942.

    Unfortunately, I wasn't counting on my luck; i.e., lots of it, all bad. The developers released the v1.3 patch very shortly thereafter, which, naturally, screws Audigy owners (sigh). Seriously, lots of users with Audigy sound cards are reporting awful problems with the sound. For some it stutters or hitches; for others, certain sounds loop continuously without end; still others "enjoy" deafening waves of "white noise". Gee, that's some patch, huh? In my particular case, I had two serious problems with the v1.3 game: (1) I couldn't hear anything when it was right in front of me, and (2) the game hitched very frequently. I fixed the former problem by fussing around with my speaker settings, as I note elsewhere in my technical support tips for BF1942. I have finally fixed in excess of 90% of the instances of the latter problem by adjusting the PCI latency values for some of my system devices. Surprisingly, that has fixed a host of other niggling issues as well, which is why I'm writing this article.

    The only remaining hitching problems I'm having with the game at the time of this writing are due to the way the game handles texture, sound, and network data. I know this because, for example, the game always hitches the first time I whip out a grenade, the first time I get really close to any given vehicle, the first time I get close to a given kind of tree, etc. This also happens the first time some sounds play. But once I've seen or heard the particular thing in question, it no longer hitches during in-game encounters with those things. Such symptoms typically indicate poor data-set management on the part of the developers. The game's sometimes-jerky network code is another developer failing, as I've got a fast, high-quality connection. In short, these things don't happen with any other game, and they didn't happen prior to the v1.3 patch, so the developers of BF1942 really need to clean up their engine. Please! The game is a lot of fun when it's working.

    At any rate, what fixed the hitching problem was changing my PCI latency settings for my video, network, and sound devices. The BIOS for my motherboard, a Gigabyte GA-7VAXP, does not support any kind of PCI latency tweaking. Ok, that's not quite true. It does let me enable or disable a "PCI Delayed Transaction" option, an "AGP 3.0 Calibration" option, and so forth. But it doesn't let me set the default value for PCI latency as many other motherboards do; instead, the default value is hard-coded at 32-or so I'm told. In my estimation, that's a real mistake in light of what I've learned, though it isn't really a critical one. You see, regardless of what the default value is for PCI latency, your system devices are free to ignore it completely. Yes, that's right, folks: it doesn't matter how you configure PCI latency in the BIOS. Your system devices can set their own values anyway. Isn't that cute? No doubt computer-nerds far more familiar with the PCI specification are probably laughing at me, but I don't think it's very funny.
    The Solution: PowerStrip

    I discovered all of this after starting to experiment with a utility by the name of PowerStrip. As tweaking utilities go, I honestly didn't think much of PowerStrip until a few days ago. Sure, it allows you to overclock your video card, adjust your monitor timings and such, adjust PCI card settings, and perform a number of other tweaks. The reason I wasn't very impressed previously was because it provides only the most minimal features in any given area compared to other utilities. For example, I can use the Rage3D utility to tweak my ATI Radeon 9700 Pro video card in far more useful ways than PowerStrip supports. Similarly, I can use Rage3D, or several other utilities I've since found, to tweak my monitor's timing parameters and other settings. And while PowerStrip costs roughly $30 (US), Rage3D is free for the taking-though the author does ask for (and deserves in my view) donations. In short, PowerStrip is very much a general tool, which often means that more specialized utilities are preferable.

    PowerStrip does one thing, however, that no other utility I've found does. To wit, it allows you to examine and override a number of parameters for the PCI communications bus as applied to each device in your system. The first time I ran PowerStrip, I discovered the likely source of my hitching problems: my video card's PCI latency was at 248, my network device's value was 128, and my poor Audigy 2 sound card was set at 32. In other words, the video card and network card could easily hog the PCI bus to the point whereat my sound card might not be able to keep up with the load. PowerStrip makes it a simple matter to set those values to 80, 32, and 64 respectively. I experimented around a bit, of course, but those values seem to work best for my system.
    NB: Because quite a few people have written me regarding how to use PowerStrip, I thought it was worth mentioning two things here. If you're having trouble tweaking the PCI latency values, don't worry, it's probably not your fault; the PowerStrip interface is utterly terrible in this regard. First, to be able to switch from one device to another, you need to look to the right of your video card's name. There are tiny scrollbar buttons there that allow you to select the device you want to tweak. Second, if you find that you can't actually change the latency values, you should look for a check box labelled "Read-only" and make sure it's unchecked. If you still can't find them, click here for a diagram that might help.

    I was happy when I found that almost all of my hitching problems with BF1942 had disappeared. I've been growing happier with this solution ever since, because of all the other problems it has fixed as well. For example, my ISP provides a free, one-year, radio-only subscription to the Rhapsody digital music service. I like listening to their classical music "stations" because they have zero commercials. I would gladly listen to the radio were there not so many obnoxious news updates, advertisements, and "talking heads" yammering away between tracks. Heck, I might even pay for it; ever since trying Rhapsody for the first time, I've thought seriously about signing up for their full package. It's a pretty neat service if you've got a good Internet connection.

    All such praise aside, Rhapsody used to stutter from time to time. I had increased the network buffer size and all that kind of stuff, but it would still stutter in its playback when I launched certain applications or did certain other things with my system. Since adjusting the PCI latency values for my system devices, it hasn't stuttered once. I've even tested it by playing back QuickTime movies, copying files over the network, and letting Microsoft Visual C++ compile some of my code in the background. It doesn't stutter anymore, period. That's an amazing difference, as it used to stutter any time I opened a session of Windows Explorer. It doesn't do that anymore. That's a wonderful change. I can now listen to defect-free audio all day, it seems, without a single hitch, stutter, or pause.

    Similarly, my email program no longer brings the whole system to a halt. Every once in a while when I launched my email client (viz., Eudora Pro v5.2), my whole system would simply freeze for a period of several seconds. I'm not sure precisely what the problem was, but I've always suspected the network because it always happened when the program is trying to connect to my ISP's email server. After making the adjustments with PowerStrip, my email program no longer freezes the whole system. Sure, the email client still sits there waiting to connect, but every other application continues to run smoothly. That's another minor but obvious change, and I find it as welcome as it is obvious.

    To avoid redundancy, suffice it to say that I've seen all of my other hitching, stuttering, and pausing problems solved with QuickTime movies, Windows Media Player, MusicMatch JukeBox, all the web browsers that I use, and other applications as well. I've seen the occasional keyboard delays go away as well; i.e., I used to be able to type so fast that Windows sometimes lost my characters, but this doesn't seem to be an issue anymore. I've also seen improvement in a long-running keyboard problem. On occasion, the control keys on my keyboard seem to get stuck in the depressed position, though only logically not physically; i.e., the actual keys are not stuck, but the operating system thinks they're held down. I haven't had that problem occur since I made the changes with PowerStrip, and that's very unusual, as it happened previously quite often with Microsoft Word and Macromedia Dreamweaver.

    I've seen almost a dozen other such problems go away as well since making the changes. The result of my changing the PCI latency values has been to give me a much smoother system to use. Though all the issues were individually quite small, solving them all in one fell swoop has suddenly made my daily usage of the computer night-and-day different. Nothing hitches anymore-well, save for some poorly implemented portions of the BF1942 game engine. Almost everything on the system runs as smoothly as it should. And all of this is definitely related to the changes I've made with PowerStrip. If I simply change the values back to their original settings, all of my problems come back to plague me.
    Epilogue

    Do you find all of this as amazing as I do, dear reader? To be clear: I'm not surprised that the PCI latency settings have such effects on the system as a whole. I have a background in engineering, so I have some knowledge of such things. There are two things, however, that I find very surprising: (1) that BIOS settings can be so freely ignored by individual devices, and (2) that manufacturers are providing such awful defaults with their hardware. I'm sure ATI has their card configure itself to a latency value of 248 so that they can avoid all kinds of technical support calls from persons whose machines can't keep up with the card at a more reasonable setting. But that utterly screws other users, and it does so in a way that isn't simple to diagnose or fix. How many users, after all, are intimately familiar with the PCI specification? How many users are computer-literate enough to go poking around in their BIOS or use PowerStrip properly? From my dealings with the larger community, I think the answer is "not many".

    In retrospect, it angers me that when I've tried to work through such stuttering, hitching, and pausing problems in the past with various technical support persons, they've blamed interrupt sharing, my operating system, my drivers, the way the device is configured, my other software, and pretty much everything except their own device (and certainly not its PCI latency settings). Sure, I've had technicians tell me to try adjusting the PCI latency in the system BIOS, but that's utterly bloody useless; it doesn't matter what that's set to if the devices in your system configure themselves otherwise. The system BIOS on my wife's machine lets me tweak the PCI latency setting, but I've found exactly the same thing with her machine; i.e., it doesn't matter to what I set PCI latency in the BIOS, some of the cards in her machine configure themselves far differently anyway.

    So, I've just slaughtered a host of annoying system bugs with the application of one simple utility. As you might well expect, I've already purchased my copy of PowerStrip, and that was $30 well spent. If only I had known about it sooner. If you've got any such problems with your system, I suggest you try it. It just might save you hours of time. Be sure to read all the tips and help stuff, however, for using bad PCI latency values can hang your machine pretty easily.

    02/20/2003

    And for those that haven't seen how to change devices in PS, at the top there are arrows in the right of the row where the video card is listed.
    P.S.: Not sure, but I think the bought and paid for "full" version of P.S. is the only one that "keeps" the settings. (Caution)
     
  6. Capfan

    Capfan Guest

  7. Toxic Worrier

    Toxic Worrier Master Guru

    Messages:
    937
    Likes Received:
    0
    GPU:
    GTX 275

    OK then,

    Let me sea, eye em tring to impruve mye speling an stuph, but you donte hafe to mace funn of me now du yoo ?
    You could have dazzeled us with your brilliance without sounding like phuckhead,,,,oh, there I go missplelling again. .:eek:

    If I had wanted it to be warrier, it most certainly would have been warrier. It's Worrier NumbNuts....You know, like, Im not at all worried about what you think, or maybe like,,,,Don't worry, you'lle get banned soon enough with a $hit attitude like that. Now, go away KuJo,,,,,,,or whatever you call yourself. I'm going to go listen to how much better my computer sounds.
    good luck :D
     
  8. GhostXL

    GhostXL Guest

    Messages:
    6,081
    Likes Received:
    54
    GPU:
    PNY EPIC-X RTX 4090
    XD I dunno what his prob was but i appreciate the info given here its helped me out a bunch...was wondering why my audigy sounded weaker in some games.
     
  9. mr orange

    mr orange Member Guru

    Messages:
    186
    Likes Received:
    0
    GPU:
    eVGA gtx 280
    ok, let me see, i have here two agp`s.

    -host bridge nVidia Corporation nForc2 AGP (different version?) @00
    -pci bridge (normal decode) nVidia Corporation nForc2 AGP @32

    what are the differences and what is a good value for both.
    both 00 because they are onbord?
    what is a good value for soundblaster audigy zs2 (default is 32) ?

    thanks
     
  10. wilks

    wilks Active Member

    Messages:
    71
    Likes Received:
    0
    GPU:
    MSI nx-6600 gt AGP
    In my bios i have a setting called "PCI latency timing" so i went and set it to 64 and fired up the tool everybody has and it showed just about everything is set to 64..so i guess msi has done a good job with this bios setting cause if i set it to 96 or whatever it will show the same with the tool
     

  11. Pylor

    Pylor Master Guru

    Messages:
    331
    Likes Received:
    0
    GPU:
    Diamond 7970
    Stutering worse?

    I used this program like it said to and i started playing cs source, only the stutering was worse. The only thing i can contribute this to is that my framerate is going over my refresh rate, noticing this i decided to run stress test and i got 66.02 fps (on dx9, presi tweak), this is more than 20 fps more than i got before, did valve release a patch or is this because i lowered the latency to 64? also would the fps going over the refresh rate cause a stutering effect? i did notice a tad bit of tearing.
     
  12. Toxic Worrier

    Toxic Worrier Master Guru

    Messages:
    937
    Likes Received:
    0
    GPU:
    GTX 275
    Whatever you do, don't start experimenting with your motherboard bios. Just use this tool to kind of even out the latency between pci devices and agp devices. Leave the pci latency in your bios at 32 or wherever it's already set.
    I only lowered the pci latency to 128 because of evga recomending it. But don't go screwing with all of the latency settings. You might create a problem.
    Wilks, I don't think anyone here mentioned changing the pci latency timings in your bios,,,Read the link I posted back near the start of this thread, and try to understand that before you go changing everything that has the letters pci on it. Thats all
     
  13. eviakhan

    eviakhan Guest

    I downloaded the tool but when I run the exe file, I get an error: "Error Starting the Driver".

    I tryied downloading again with the same error. I am doing something wrong? Must it be run from a certain location?

    Thanks.
     
  14. ericdrum

    ericdrum Member Guru

    Messages:
    148
    Likes Received:
    0
    GPU:
    eVGA 670 FTW SLI
    You need to extract all the files into the same folder(it doesn't matter where) and it should work. You can't just open the archive and run it.
     
  15. croc 2

    croc 2 Guest

    latency discussed at RojakPot

    For those curious about the interplay between PCI latency settings and AGP settings [whether via BIOS or through other software], you might want to take a look at one of my favorite resource sites, Adrian Wong's Bios Optimization Guide ["BOG"] located at his www.rojakpot.com and specifically read over some of the BIOS discussions including settings for "AGP Secondary Lat(ency) Timer" under the graphics section of the BOG.

    I've been perusing this forum in hopes of catching a few clues before installing an MSI 6600GT on a new rig for my nephew and happened across this interesting and informative thread. I used to have a Creative soundcard, so I spent a lot of time chasing PCI latency snarks and snipes in the past. I hope I don't need to actually apply what I have read here, but MMMV.
    :D
    Nice forum -- haven't visited here ina couple of years.

    croc 2 (elderly person of limited knowledge)
     
    Last edited by a moderator: Jan 13, 2005

  16. rauskis

    rauskis Member

    Messages:
    19
    Likes Received:
    0
    GPU:
    2x XFX 6600GT PCI-E
    Does this utility work with PCI-express (ASUS A8N-SLI with 2xGF 6600GT)?! When I open it my graphics cards latency is already 32 not 248... And isn't it possible to adjust latency straight from BIOS too? I have there an option called "PCI latency".


    -Rauski
     
  17. Damnit

    Damnit Ancient Guru

    Messages:
    2,417
    Likes Received:
    3
    GPU:
    MSI 6700XT
    It depends on what BIOS software is installed and what version. For example my BIOS used to have the PCI Latency option but when I flashed it to a newer version I lost that option. Dont know why........

    Also if your still having problems installing it there's another link to a program in this thread (first page I imagine) that would hopefully work.
     
  18. Toxic Worrier

    Toxic Worrier Master Guru

    Messages:
    937
    Likes Received:
    0
    GPU:
    GTX 275
    In my bios , there's a pci latency setting, but it applies to all but my vid card..Good chance thats how it is with most bios's....If you already show your video card at 32, leave it....

    you know ,,,,this thread is kinda freakin out ,,,,,,after all it got started in the wrong place, by nvidia drivers, so if anyone else has questions or thoughts, why not post a new topic with a question and I'm sure someone with mega knowledge about this sort of thing will reply and enlighten us all....LoL.
    or.......do a google on it.......good luck
     
    Last edited: Jan 13, 2005
  19. Animatrix

    Animatrix Ancient Guru

    Messages:
    6,836
    Likes Received:
    4
    GPU:
    BFG 8800GT OC2 512
    This is a repost of some info.

    Note that a low PCI latency is not the same as access latency.

    "PCI latency refers to the number of cycles that any device can hold an IRQ before it is disconnected as a function of fairness algorithms."
    http://www.lostcircuits.com/hdd/hdd5/3.shtml


    PCI Latency
    http://www.geocities.com/phileosoph...pcilatency.html

    PCI Latency Timer Howto
    http://www.reric.net/linux/pci_latency.html

    PCI Latency Timer (BIOS)
    http://www.rojakpot.com/default.aspx?location=8&var1=0&var2=138
    For better PCI performance, a longer latency should be used. Try increasing it to 64 cycles or even 128 cycles. The optimal value for every system is different. You should benchmark your PCI cards' performance after each change to determine the optimal PCI latency time for your system.

    Please note that a longer PCI latency isn't necessarily better. A long latency can also reduce performance as the other PCI devices queuing up may be stalled for too long. This is especially true with systems with many PCI devices or PCI devices that continuously write short bursts of data to the PCI bus. Such systems would work better with shorter PCI latencies as they allow rapid access to the PCI bus.
     
  20. Burnt_Ram

    Burnt_Ram Guest

    Messages:
    5,921
    Likes Received:
    0
    GPU:
    Zotac GTX 1050 Ti
    very interesting
     

Share This Page