Doom Rediscovered

February 23, 2007

If you’ve been following my blog you already know I recently acquired a used IBM T60 laptop with Vista Ultimate. And, if you’ve been paying attention, you also know Vista keeps surpassing my expectations. Tonight I decided to test out a popular and “modern” PC game. I think everyone can agree that (at the time of this posting) Doom3 is a modern and popular game. It’s probably not the most sophisticated, but I don’t own a ‘gaming’ laptop I just want to see what the average gamer should expect. ..And, to be honest I just wanted to see if Vista would crash. Almost any game sent my old XP laptop straight to the Blue Screen of Death or into horribly jerky game play.

Now, I typically play video games while I’m waiting for long downloads and don’t want to be distracted. For example, I’m coding some software and I need to download an SDK. My mind is full of the code, and I don’t want to lose that. Playing a video game, for some reason, doesn’t disrupt that memory. In fact, if I don’t play a game I might get distracted and switch my focus to something else.

So to make this test realistic I opened a ton of other apps. One instance of Visual Studio, about 10 Internet Explorer windows, Windows Mail, Windows Calendar, started a file download and tuned in some Eminem on Windows Media Center (it seemed like Doom3 material).

Then I clicked the little Doom3 icon and, to my amazement, I could play in high definition faster than my XBox plays Halo 2. And that was with all the software I listed above running in the background. To be honest, I don’t think Windows noticed Doom3 was running. I suspect my nifty FireGL card had something to do with it, and I’m sure my 3GB of 667Mhz SO-DIMM’s did help with those large texture maps…but seriously, this wasn’t an expensive laptop.

Anywayz, I love playing games again. Now I’ll never be bored or get distracted while I’m waiting for a download, compiler, etc. It’s nice being able to truly multitask, and it’s nice that my audio from Windows Media comes through during game play. I usually prefer listening to my music over the game’s soundtrack.

So, here’s a screenshot of some yummy Doom 3 carnage. Looking at the picture I chose made me wonder…Is this type of thing wrong to enjoy?


3 Responses to “Doom Rediscovered”

  1. Blue screens sometimes are due to hardware problems or hardware incompatibility.
    More often they are caused by RAM troubles (bus not working well, damaged cells in ram etc. etc.).

    99% of the times, blue screens in XP or in any other windows platform (or kernel panic in linux) are due to BAD DRIVERS!
    Windows XP Kernel is not so bad, the problem usually resides in the drivers that people that sells hardware writes!
    Microsoft with signed drivers changed a little the things, forcing hardware factories to write better drivers.
    In vista things should have changed also becouse most hardware factories understood that drivers are important πŸ˜‰

    I remember to people that don’t know how i386 protected mode works that: Windows XP runs in two processor modes, called Ring0 and Ring3.

    Windows kernel runs in Ring0, it’s an unprotected 32 bit (or 64 bit) processor mode where code can access to all memory and all hardware.
    Kernel is the core of the operative system.
    The code that runs in ring 0 can do everything πŸ˜‰
    It has unconditional access to all resources.
    (Like the old DOS, but in 32 bit (or 64 bit) mode).

    In Ring3 there are the users processes and services.
    Ring3 is a protected mode, you can’t access directly without authorization to kernel resources, hardware resources or other processes/tasks memory.
    The user code that runs in ring3 usually do requests to the kernel code (via Windows API) to access resources (like allocating ram or accessing your printer or your video-board).

    Kernel drivers runs in Ring0!
    If something goes bad in user code, application may crash or lose the files your are working with.
    If something goes bad in kernel code, computer may crash and you may lose your fat, partition or everything πŸ™‚

    Blue screen happens in kernel code, not in user code.
    This is the reason becouse windows XP crash, it’s not Doom3 or a specific application, if run totally in Ring3 mode.
    Windows crashes becouse your drivers or your hardware (or kernel) don’t work propertly or have a bug.

    I hope to not have said something wrong πŸ˜€

    Abstraction layers are always a good thing πŸ™‚
    They add a slow-down, but this slow-down must be linear or polynomial in complexity so you need only to add more processing power that costs a little these times πŸ™‚

    .NET with IL and JIT (or java with bytecode) is the next step in abstraction, required step to go further and write more secure and powerful applications.

    I like virtual machines and garbage collectors πŸ™‚
    Did you tried to use XNA? Next step in gaming.
    Something more than Managed Direct3D for C# (that i used) πŸ™‚
    I looked at it and it seems very interesting and promising for game development!

    However I still didn’t try Vista, i’m curious πŸ™‚
    When I’ll have the money I’ll buy a new PC.
    Your hardware sounds impressive compared to mine πŸ˜€

    (Athlon XP 2400+ with 1gb of ddr 333 ram… i feel old!).

    Dear Santa Claus… I want … …

  2. 8r13n Says:

    Very informative. I didn’t know about the OS ring’s on XP.

    I haven’t tried XNA yet, but I’m really looking forward to it. Have you? It sounds like a dream come true (based on what MS says).

    Thanks again for the great comment!

  3. Yeah, in reality there are 4 ring modes in intel 386.
    Windows uses only two (0 and 3).
    I guess vista works in the same way πŸ˜‰

    I had only a look on XNA but i don’t have enough time for the moment to learn it πŸ™‚
    I was doing an installation with 5 monitors and i needed to write some 3D code to do some animation… XNA seemed good for the first monitor, but at the end, i wrote the code in OpenGL and C# (using the open source TAO library, an OpenGL porting to .NET).

    I see XNA is all based on Shaders and video board computing power.
    It sounds nice and performance of code should be good also if runned in managed code!
    But … shader assembly is a new thing to learn 😦

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: