I know this to be fact because I have seen a slow down with tons of light. Looking in the direction of a ton of light will slow you down whether or not you can see it. I was editing a mod where there had been a ton of lights placed. After taking many of them out, my framerate improved, I am going by first hand experience here. Now, like I have repeatedly said, it will depend on your computer's power as to how much it can take.
That sounds to be light culling, which may (or may not) have a linear effect. Many lights in a small area might hurt FPS, but it depends on their ratio and how easily the engine can exclude them, as well as how exactly the engine chooses to sort them. Lights with larger radii have a somewhat different effect, but are harder to cull and more likely to appear in the light list.
Well ask the guy who left a post in this thread about how adding a good soundcard increased his framerate. I originally thought no it didnt but changed it due to first hand experience.
If your onboard sound was using the CPU to decode the audio, which some chipsets may and some may not, that
may have an effect, depending on how DirectSound is handling itself and what it chooses to use the threads for. Depending on the size, bitrate or compression ratio of the file, or even the hard drive its stored on and when it's loaded, there could be a slight difference.
If you were using a soundcard, the new issue would be memory speed downloading to it, which should not be an issue (in most cases).
Well things are always improving, but if you can site someone who can use MGE to significant effect without a video card, then I will change it.(and I mean have distance view of 3 or more cells)
I've run slightly older versions (rev116 or so) on onboard (GMA7xx, I think it was) with ~13 cells and a few ps1.4 post shaders. MGE does not innately limit based on GPU; some features
may (although shader model, Intel's primary weak point, is specific to a single shader) and some may not. Turning on AA or AS can, if your card doesn't like it, or may not. SM3.0 shaders can have more of a hit than 1.4, but it depends on the shader. The depth/menu saving and reflective water will (
usually) have a hit, because of the caching they perform and increased draw count.
Oh please, now this is one thing I know I am not wrong on. Poly count is something you can get an estimate from. You can not tell me that professional game makers limit poly count just for fun otherwise there would be no need to ever smooth anything in MW.
You can get an estimate, but it's very rough. The main cause is that there are too many potential bottlenecks, but which you'll hit depends on hardware and game location. In a
exceptionally broad statement, more polys is slower.
Edit: Oh, and in the case of my minecraft clone, rendering no polys at all (nothing, blank screen) ran at about 900 FPS on crappy systems and 2000-6000 on good ones. However, it (as expected) dropped as the viewport increased. Drawing the same number of polys but doing each cube separately yielded 0.1-0.02 FPS, where as drawing them in 512-block chunks was ~120x faster (draw calls vs polys per draw).
However, if you were to compare similar models from Morrowind and NWN for example, you'll see one of the potential issues. NWN does some skinning in software, which provides a second bottleneck. MW uses the fixed function pipeline, which has its own limitations. In general, pixel throughput will be the issue until you hit a significant number of polys (which can be as many as a few million).
If every object in a cell was physiqued, the hit would be far greater than if you had 10 times the number of still polys (take the BB bodies, for example). Because of this, there very well can be occasions where 20k polys is more expensive than 100k (and these are very normal circumstances). Morrowind's typically low polycount, even with tons of high-res models, tend not to become so great as to overtake pixel throughput in limiting speed.
The same thing can happens when draw call overhead begins to overtake per-draw cost, which is covered in the DX docs for at least a few pages. Many small objects with fewer polys can be slower than a single much larger object. Vertex ordering and stripping also comes into play, since one model may have numerous strips, or could be a single one. With Gamebryo's culling and additional handling (covered in the engine documentation, in the artist's guide section), the exact opposite can occur and many small objects can offer improved culling and less clipping. Morrowind appears to have additional issues not mentioned by the API or engine docs, and can choke on objects with certain types of collision that are concave and surrounding the player (it seems Gamebryo's portal culling is not enabled, probably due to how MW uses placeable objects to create the world).
In typical cases, however,
neither of those comes into effect; the AI and script routines are the final speed limit. With poor graphics cards, vertex/pixel throughput may limit you. With any kind of modern card and vanilla, the CPU is the issue. Collision can be expensive, depending on the present model's collision flags and whether the player (or any other creatures) are within the surrounding bounding box (the engine may, or may not, be able to cull).
There is another thing that can slow you down and thats the painting of the actual textures onto the polys. Trying to paint a large texture onto very few polys can cause a slow down and I forget the reason for this but it can happen. I beleive I read this in regards to a gambryo model in fact, about how someone was getting a slow down despite a very simple model.
Larger textures are always slower than small ones, and depending on the filtering mode and scaling involved, it can become more or less so. This is the general reason why 8x AF can effect speed.
This is also another example of what can introduce another choke point. Cards with small amounts of VRAM (say a 512 card) may be forced to swap to system RAM, which kills speed.
Typically that won't happen because Morrowind
usually doesn't fill VRAM, but there are cases where (with texture replacers, high poly models, or larger areas), more memory will be used. If some data has to be stored in the system memory pool, speed drops off sharply.
significantly[/i] increased speed, it would be in use and widespread.
Of course, and there's no magic fix, nor is one really possible without rewriting the core render code. The Gamebryo render code, for the Morrowind-era version, is pretty solid and well written, and typically fast.
All that said, if you can indeed prove that I am completely wrong I will change things to reflect correctness. I hope I have countered everything effectively.
Read the DirectX 8.1 and 9.0c SDK documentation, it has a more thorough treatment of some of these things than I could type.
While the general idea of your guide is sound, too general a treatment isn't helpful, and it's very difficult to get specific without getting very specific. I'm sure my post contradicts itself at least a few times and is highly uncertain, mostly because there's no simple answer here (which is my whole point). There are a few things (get a better CPU, SSD drives, etc) that can have some effect sometimes, but none of the issues you may face are simple.
Don't get me wrong, I like the idea of such a guide, but I'm not sure it's possible to do effectively, or without confusing people. If it is, I think it will take a lot of benchmarking across systems to figure out which of the possible issues are popping up and why. If you do chose to set up a test suite and run some, I should be able to contribute a system or three and provide statistics for a small variety of hardware.