It's been a nightmare, but I think the nightmare is finally over. As I've written elsewhere, my installation of Windows XP went less than smoothly. Or to be more precise, the installation itself was the very model of ease, but the networking problems were ridiculous, and some application issues were similarly awful. Today I think I've finally achieved a working, stable system—or at least as stable as any Microsoft operating system gets. As always, I'm writing up the solutions to my problems in the hope that others may benefit.
To review briefly my networking woes, while my Internet connection worked just fine from the get-go, local file sharing was horribly broken. Entering the UNC name of one of the non-XP computers on my network and trying to browse its resources took as little as 40 seconds with TCP/IP or as long as 7 minutes 24 seconds using NetBEUI. In short, the Windows XP machine could not browse any other machine worth a darn, while all the non-XP machines could browse each other, and even the Windows XP machine, without incident. Or at least, they could do so after I disabled the horrible Microsoft firewall, which was moronically blocking everything. This whole situation made no sense to me, so I contacted Microsoft support.
I must first give Microsoft some credit: they actually support Windows XP. Make no mistake, dear readers, this is a revolutionary notion for the folk in Redmond. In the past, they have done everything possible to avoid providing support. Consider the case in which a user buys a new computer running some version of Windows. Despite the fact that the customer paid for the operating system, Microsoft will not provide any support on the ground that it's an OEM version. That's just lovely, isn't it? They make the OS, they engage in shady (and sometimes illegal) practices to force computer vendors to bundle the OS, and then they refuse to take any responsibility for the OS because the vendors provided it.
Of course, you can always pay Microsoft to provide support, a per-incident fee of $35 for home users or a whopping $195 for businesses, but why should one have to pay to get fixed what's patently broken from the outset? Questions of a "how to" nature can be answered easily on the web, via books, etc. When I want support, however, it always turns out to be some screwy problem with Windows that no official resource addresses. Having said all of that, Microsoft support hasn't changed much over the years. That is, the methodology is always the same and consists of the following steps:
This may seem harsh, but it's entirely accurate. When I contacted Microsoft technical support about my networking woes, for example, I told them up front that I had already tried using the IPX/SPX protocol to share files, as well as NetBEUI. I told them also that I had disabled the Microsoft firewall, and that each machine could successfully ping every other machine. What do you suppose, then, was the very first suggestion by the Microsoft support engineer? Yup, that's right: try the IPX/SPX protocol. The second suggestion, of course, was to try the NetBEUI protocol. The next suggestions were, respectively, to disable the firewall, to ping each computer, and so forth (sigh).
From this point, the technician then proceeded to blame my network configuration, my network interface card, my hub, and even my network cabling. Once it became transparently clear that, in fact, all of the above items were beyond suspicion, the technician politely apologized and admitted that he could no longer help me. He promised instead to "escalate" the incident to a higher-level support engineer. I was originally going to report that I've heard nothing since, but I just now received an email message while writing this very paragraph. Apparently, the issue really was escalated, as a new support representative has written me to confirm the state of the problem at present. I'm glad to say that it looks like step four has perhaps finally been abandoned by Microsoft, though sadly one through three seem to remain intact.
The solution, as I should know by now, is never to ask Microsoft for help. The solution is to turn to the millions of other poor souls who suffer similarly running Microsoft products. Thus, I turned to Usenet, and more specifically to the microsoft.public.windowsxp.network_web newsgroup. There I found literally hundreds of posts describing the very same issues I was seeing. Unfortunately, most of the suggested remedies didn't help. It didn't help me to use a different network card. It didn't help me to run the Network Setup Wizard. It didn't help me to set my network cards to 100 Mbit half-duplex mode—apparently full duplex shouldn't be used with a hub? It didn't help me to rename my workgroup and computers. It didn't help me to install IPX/SPX or use NetBEUI. It didn't help me to delete all of the listings in "My Network Places". It didn't help me to move my network card to a different PCI slot. It didn't help me to disable scanning of scheduled tasks on remote machines. You get the idea, no doubt.
One of the tips, however, did fix all of my local networking problems, despite my utter disbelief that it would. The tip that worked was simple: remove the passwords that Windows XP had stored for the machines on my network. In other words, by forgetting all of the passwords, Windows XP could then obtain access. Gee, that makes sense, right? Sheesh. At any rate, the fix is somewhat obscure, so let me repeat it here in step-by-step fashion.
There are three things about this that make no sense to me. First, after having removed all the passwords, I've not been prompted for any of the passwords used to connect to my network shares or other resources. In other words, the passwords are still remembered somewhere; they just aren't showing up in that dialog box any more. Second, I haven't a clue why only one machine out of three non-XP machines on my network was listed in that dialog box. I have drives mapped to shares on all three, but only one of the three appeared. And third, removing the passwords for the only machine that did appear in that dialog box has fixed all the problems I was having with the other two non-XP machines as well.
In short summary, it is utterly mystifying to me precisely what Windows XP is doing with passwords. It's also mystifying, of course, why XP "knowing" the passwords would make it operate orders of magnitude more slowly, but perhaps there are simply things mere mortals were not meant to know.
A second problem that was really driving me nuts was one I was having with Unreal Tournament (UT), arguably the best first-person shooter multi-player game made to date. I discovered the problem while practicing with my clan, Steel Maelstrom. Whenever even one or two enemy players would be visible on my screen firing at me, my frame rate would drop to a ridiculous four to five frames per second (FPS), which makes for a nice slide show but is essentially impossible to play.
At first, I figured the problem was simply poor video performance under Windows XP. After all, I was running at 1280 x 960 x 32 bpp resolution with all (and I mean all) the graphics settings cranked to the maximum. Unfortunately, though, the problem didn't go away when I turned down the resolution all the way to 640 x 480 x 16 bpp with all graphics settings at minimum. Given that my system includes a 1.2 MHz. Athlon CPU, 512 MB of fast (i.e., PC-133 CAS2) memory and a Gainward "Golden Sample" GeForce3 Ti 200 video card (clocked at 200/450), that resolution should not be a problem. Even Microsoft's bloated code shouldn't be able to slow things down that much.
I next thought the problem might be with my video drivers. Thus, I installed the latest drivers from NVIDIA only to discover that, while they did improve performance somewhat, they caused a host of Blue Screen of Death (BSOD) crashes with Windows XP and failed to fix the original problem. Obviously, that's not an improvement. I therefore returned to the drivers provided by my video card manufacturer and moved on to other possibilities, namely, the CPU. UT is a notorious CPU pig, unlike some other games in its genre (e.g., Quake III Arena), so I wondered if perhaps all the processes and services I had running might be the problem. I hadn't yet done anything to optimize the startup process, and, as such, I had no less than 15 icons in my system tray and all the standard services running. Unfortunately, after pruning all of the items from my startup folder, most of the items from the registry "Run" keys, and as many services as I could stop while allowing XP to run properly, there was no difference whatsoever.
At this point, I remembered that an OpenGL rasterizer has been available for UT for some time. Supposedly, the OpenGL rasterizer takes more advantage of hardware acceleration than does DirectX, or, at least, that's what I've been told. I'm personally rather skeptical of that claim. I could never get OpenGL to work properly under Windows 98, but Windows XP is a new animal, so I gave it a try. Despite my skepticism, I couldn't argue with the results. After switching to the OpenGL rasterizer, my frame rate jumped to an average 70 - 80 FPS—even at 1280 x 960 x 32 bpp with all graphics settings at the maximum. And what's more, I could join public UT servers on the Internet with as many as 22+ players without incurring the kind of slowdown I was seeing before. My frame rate would drop no lower than 30 - 40 FPS, even with a great number of enemies on the screen at once in large and open maps. My problem was solved!
Right. I should be more precise: it was solved if I wanted to play only on public Internet servers. Unfortunately, the very next time I practiced with my clan, I got the very same slowdown I was seeing before. The frame rate would drop to 4 - 5 FPS whenever even one or two enemies were visible, yet I could still connect to the Internet and play on public servers without any such problem. This made absolutely no sense to me. I should note for the sake of clarity that my clan practices on a server that I make available on my network at unreal://64.81.233.65:7777 for anyone who would like to try it. It then occurred to me that perhaps the same problem (then still unsolved) that was messing up my local file sharing might be messing up UT's ability to connect to a server on the same LAN segment. I just don't know enough about networking to know whether that would be an absurd suggestion or not; all I knew at the time was that I had the problem on my own server but didn't have the problem on servers outside my own segment.
When I finally solved my file-sharing issues yesterday, however, I was disappointed to discover that my UT problem was still there. Thus, it had to be something else. I wondered if it might possibly be the fact that almost every major device in my system (the video card, the sound card, the network card, etc.) was sharing IRQ 9. That seems unusual to me, and it doesn't seem to be the case with other users running Windows XP with whom I've inquired. Unfortunately, there was no opportunity to test this suspicion as Windows XP wouldn't let me monkey with the IRQ settings manually unless I completely reinstalled it without ACPI power-management support. Since I didn't feel like spending another two weeks fighting to install my software and get it to work on yet another installation of Windows XP, I wasn't going to try that.
Fortunately, a friend of mine who was helping me run some tests made what turned out to be exactly the right suggestion: reinstall UT. It never occurred to me to do this for the simple reason that I had just reinstalled UT roughly two weeks ago after getting Windows XP up and running in the first place! Still, uninstalling and reinstalling UT fixed the problem, or, at least, it seems to have fixed it. I'll find out for sure tonight when my clan practices, but all of the tests I've conducted on my server seem to indicate that the problem has indeed been solved.
NB: | Coming back to this essay months later (i.e., 08/21/2002) , I'm happy to say that though the problem didn't remain fixed, I eventually found a workaround. Practice with my clan that night went as it should have, but I had to use medium texture detail. I've since found that I can use high texture detail as long as I use bilinear rather than trilinear filtering. Why this makes such a huge difference under XP is beyond me, but it works, and I'm too tired of fussing with things to try to fix that. |
I must say, as regards Windows XP's networking, that I understand neither the problem nor the solution. I don't know what that lone bit of Windows XP's user-administration interface is really controlling. I don't understand why none of the machines on my network are listed there despite the obvious "remembering" of my passwords. And I haven't a clue how having the correct passwords stored there in the first place could possibly be a problem.
Regarding my problem with UT, I must say that my experiences really make me wonder if "bit rot" is a genuine feature of the contemporary computing landscape. I just don't know what else to make of it. Somehow, my "fresh" installation of UT had "gone bad" and needed to be replaced. I wonder: how long will it be until my current installation "goes bad"? Or will it even "go bad", since I haven't a clue what that means in the first place? Further, and arguably more important, will I be able to recognize it if it does happen?
Sadly, this essay ends with more questions than answers. I wish I understood the problems I've observed, and I wish I understood why the "solutions" I've found work. If what I've said thus far will help others make their systems work, however, then I guess I can settle for knowing what works without knowing why.
01/15/2002