Ah yes...Windows 95... we've all heard the story... 32 bits... faster... better... true multitasking... etc.Fact or Fiction? If you are like I was, I believed these stories... I went out and re-bought all my favorite software re-written for the 32 bit environment, expecting incredible speed increases and performance stability beyond the likes of Windows 3.1. As a software developer, I invested thousands of dollars in books and new 32 bit development software, and countless hours studying all the new functions involved in the Windows 32 bit API. I spent months translating my software over to the 32 bit platform completely re-designing (rather than just translating) the SAWPlus engine to take full advantage of all the new thread technology and priority capabilities of this new environment. My results.... well.... not quite as promised. First, I needed to up my machines power considerably. Okay, I figure that's good for all my software usage... but where's all the speed increase I was supposed to get? I now have a faster machine, with larger hard drives, but my performance is about the same, and my hard drive freespace is the same or less because the operating system now takes up 10 times as much room... what's going on here.... Sound familiar? You bet. Making the switch to 95 was not necessarily all it was cracked up to be. A very nasty realization came to me about two days before the NAB 97 trade show opened in Las Vegas. I had been developing SAWPlus32 on Windows NT for a period of about 7 months, and had everything ready to go, or so I thought. My trade show demos make extensive use of video and MIDI, and as of yet, there were no MIDI drivers available for NT and our AVI Viewer had not been moved to 32 bits yet, so I was forced to use Windows 95 on all of my demo machines. No problem, maybe I'll take a slight performance hit, but all in all, things should be the same as NT Right?? WRONG!!!! After all, 95 is a 32 bit operating system just like NT, Right?? WRONG!!!! Well, at least the thread technology, that I worked so hard on will be a performance enhancement Right?? WRONG!!!! Was I in for a surprise. Ok, call me naive, but I read all the trade magazines. No one warned me about these findings. Everyone seemed to keep pushing me into the advantages of this new all powerful 32 bit operating system. Every company was quick to get their software moved over to the 32 bit API... what is all this commotion about.... Better Performance, or More Profit? It seems, once again, that the magazines did not print the whole story. It's hard for me to believe that out of all the hundreds and hundreds of articles that were published about Windows 95, not one that I read ever mentioned the facts that I tripped over two days before the convention. Maybe I just wasn't paying attention. My question is... Why all the Hype and Sensationalism... why misrepresent the facts... why not just print the Truth! If Windows 95 was just advertised for what it is... a 16 bit operating system over top of DOS 7 with Win32 extensions built in... I, for one, would have been spared a lot of grief and disappointment. I'd be willing to bet many other developers have been mislead down the 32 bit development path expecting different results than what they achieved also. If I'd have known ahead of time that the handling of threads in Windows 95 has nothing to do with the way threads are handled in Windows NT, I might have designed the SAWPlus32 engine quite differently or might have originally considered two different versions, one for each operating system. Unfortunately, this knowledge came to me way too late to really do anything constructive about it. Meanwhile I had a show to do and a product to release. As it turns out, I delayed the release of SAWPlus32 for another four weeks while I tried to get some compromise between the two operating systems. Of course all the public sees is the fact that the product is late... they have no idea of why... and do they really want to know the truth or do most want to keep their rose colored glasses on about the wonderful new operating system they just upgraded to. The truth is... Windows 95 is mostly a 16 bit operating system running on top of DOS, just like Windows 3.1. It appears that all multimedia calls (Audio, MIDI and VIDEO) are 16 bit code... all GDI calls (Drawing to the screen) are 16 bit code. Need we go further? No. A program like SAWPlus32 is already completely crippled... all my tedious work writing 32 bit function calls is being thunked down to 16 bit translated calls. Every time 16 bit code is being exercised, all other threads appear to be locked. Well, sheesh, lets buy a Ferrari, pull out all the spark plug wires but one, and then complain to Ferrari about their lousy design. This is not a pretty picture. Just about everything SAWPlus32 needs to do forces it into 16 bit code. Things get worse... it also seems that the 16 bit apps actually appear to be getting priority, cutting off some of my time critical threads designed specifically so they will not be cutoff by other activity. As an example, we wrote a test program that runs many separate threads at the same time, each drawing a different colored shape, like a square, a circle, and so on. Running this on Windows NT delivers results as promised... what appears to be simultaneous drawing of different colored shapes, all evenly happening at the same time. Running this on Windows 95 displays quite different results... a bunch of blue squares first, then a bunch of red circles next, and so on... quite different from the original design concept. Now apply those results to a program design like SAWPlus32 which is designed to do multiple things simultaneously in order to accomplish its task, and break up the simultaneous into separate chunks of one thing at a time, and maybe you begin to see the problem. Am I a happy camper... what do you think? Now, what does all this mean? Well, hopefully being armed with this information makes it easier for you, the public, to understand the delays involved in getting high quality software to be compatible between two highly different and incompatible system designs. Also maybe it helps you to understand our published statements about obtaining better performance in the NT platform. This is not meant to say that Windows 95 is useless... only to deliver some facts about how it was misrepresented. To say the least, performance expectations might be less than anticipated when running code designed to take full advantage of the 32 bit Windows API. In fact, SAWPlus32 in 95 does obtain a slight performance increase over the 16 bit SAWPlus, but running it in NT displays the real performance capability of the re-designed engine. Unfortunately, switching to NT is not without its problems also. First, it requires an even healthier machine than 95, with plenty of RAM at its disposal so it can breath. Next, and possibly the most important thing that keeps NT from being the complete solution at the time of this writing, is the lack of drivers, specifically MIDI drivers, making it hard to run a full fledged SAWPlus32 rig. These NT problems will probably be corrected soon, at least there is a chance of a solution around the corner. Windows 95 being fixed... oh well... don't hold your breath! Bob Lentini CEO/Owner - Innovative Quality Software |