As some of you know, I am rather disappointed that Demo2 has been released in the current state it's in, at least from my own perspective. As I am seeing from this post and this post, I am not the only person who feels this way.
In my personal opinion, it is because of a few timing problems in the code, making it such that scripts are not running when they should be. I am told by other beta testers that they do not see this issue, even when they intentionally bog the game down.
However, many other beta testers, such as NeoThermic (just an example, nothing against him), have decent CPUs and GPUs. The computer I was testing on, however, was one I made to be dispensable. This would represent your average person, who would be playing Darwinia on a family computer; not meant for performance, but to serve a general (not a specific) purpose.
This computer serves the purpose of showing what someone on a particularly tight budget would get: a Celeron (shudder) processor, a GeForce4 MX, and 1 GB of RAM. The entire setup would be about 400 dollars. Reasonable.
However, this computer had some major issues with the scripting. Every time that the Doctor said the Red Darwinians were attacking (since beta2, beta1 was fine), there were none to be seen for almost 90 seconds. Had I not tested the first beta, my initial reaction would have been "WTF!" As it was, I was already wondering what the hell had just happened.
But in honesty, scripting probelm may very well be the least of Darwinia's problems. I have worked with snoonan (he is, in fact, the assistant manager/developer of Onlink) to find out what the source of his major crash problem is and we have traced it as far as we are reasonably able.
As it would appear, Darwinia is passing something that iglicd32.dll doesn't like. This is a necessary DLL for the graphics card he has. Most people would readily assume that the driver is too old/corrupt and should be updated/reinstalled. We checked both of these. The driver was at the most current version, and he reinstalled regardless, to be certain it was not simply corrupt. It certainly wasn't. Darwinia still bombed on startup.
Normally, I wouldn't even be posting about this issue, namely because it's not mine, and it's already been stated. Except that his problem should not be ignored. As I will quote from him, in a private conversation:
snoonan wrote:Any Sony Vaio PCG-TR series notebook would have this issue, along with about any other brand, unless they specifically bought the computer with a nice graphics card. Laptops have a tendency to come with Intel graphics chipsets.
Is he right? I'm not one to say, but someone else with an "Intel graphics chipset" should be someone to test this. Likewise, my bug report which I stated was in fact a new low-FPS bug cannot be tested just by someone who bogs down their performance. NeoThermic did this (kudos to him for his effort) and was not able to replicate this problem.
Besides this, I can also see a major issue that is also bogging down every other computer as well.
First, I would like to point out that we constructed a letter to Introversion regarding partial register stalls. These are performance hindering ASM-level bugs that, when hit, forces the CPU to take several cycles to clear the stall. We counted only SBB EAX,EAX stalls. We found there were as many as 27. At least 16.
After this letter, we received no reply from anyone, and after inquiring Tom about if the message was received, I got as a reply that Chris and Andy are looking into it, but are more concerned about graphics handling.
Now, I don't have a program debugging database available to trace what functions have these stalls, but I can probably tell you where one is. It's glaring.
Get a mass of a thousand of so Darwinians from a Biosphere-type incubator and have them all follow an officer. After a small time, you will notice that your FPS goes to the shitter. Sure, there are a lot of Darwinians to process. But now throw a grenade to the center of them. Watch how fast they scatter. The FPS picks up with the AI response change. My guess is that the AI for following an officer has one of these partial stalls. Since it's called hundreds of times per frame in some situations, you can imagine was an effect it would have on the game play. There's your graphics handling. :/
These stalls can also reside in places we cannot stress-test, such as sky rendering code or airstrike formations, but we have no way of knowing without a .pdb.
Now, we know that Introversion is suffering some fiscal woes, and that this new Demo was made to impress the public and to put Darwinia back in the spotlight. We even offered help hunting down the stalls (since we wouldn't even need the source for that, but instead with a .pdb to find what functions were throwing them).
We would have loved to help, and still are willing, but cannot. And to us, the new demo, made to impress, does not.
I'm sorry if this seems blunt. But I feel that this new demo was released prior to being truly ready.